龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

移花接木 实例讲解Ext JS控件的扩展(1)(3)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
清单4.基金申请条件组件 Ext.onReady(function(){ varcomboData1 =[ ['AGE','年龄'], //省略部分代码 ['DEPARTMENT','院系'] ]; varcomboData2 =[ [' ','大于'], //省略部分代码 ['!=',

  1. 清单4.基金申请条件组件  
  2.       
  3. Ext.onReady(function(){  
  4. varcomboData1=[  
  5. ['AGE','年龄'],  
  6. //省略部分代码  
  7. ['DEPARTMENT','院系']  
  8. ];  
  9. varcomboData2=[  
  10. ['>','大于'],  
  11. //省略部分代码  
  12. ['!=','不等于']  
  13. ];  
  14. varcombo1=newExt.form.ComboBox({  
  15. id:'attrCombo',  
  16. store:newExt.data.SimpleStore({  
  17. fields:['value','text'],  
  18. data:comboData1  
  19. }),  
  20. emptyText:'请选择',  
  21. mode:'local',  
  22. triggerAction:'all',  
  23. valueField:'value',  
  24. displayField:'text',  
  25. readOnly:true  
  26. });  
  27. varcombo2=newExt.form.ComboBox({  
  28. id:'operatorCombo',  
  29. store:newExt.data.SimpleStore({  
  30. fields:['value','text'],  
  31. data:comboData2  
  32. }),  
  33. //与上面定义combo1类似,故省略部分代码  
  34. …  
  35. });  
  36.  
  37. varconditiondata=[];  
  38. vargStore=newExt.data.SimpleStore({  
  39. fields:[  
  40. {name:'fundConditionId'},  
  41. {name:'attrName'},  
  42. {name:'operator'},  
  43. {name:'propertyValue'}  
  44. ],  
  45. data:conditiondata  
  46. });  
  47. varsm=newExt.grid.CheckboxSelectionModel({handleMouseDown:Ext.emptyFn});  
  48. varcolumn=[  
  49. sm,  
  50. {  
  51. header:'条件id',  
  52. dataIndex:'fundConditionId',  
  53. hidden:true  
  54. },{  
  55. header:'属性名称',  
  56. dataIndex:'attrName',  
  57. editor:newExt.grid.GridEditor(combo1),  
  58. //attributeRenderer方法是用来格式化输出的函数,这里从略。  
  59. renderer:attributeRenderer.createDelegate(this,["properties"],0)  
  60. },{  
  61. header:'操作符',  
  62. dataIndex:'operator',  
  63. editor:newExt.grid.GridEditor(combo2),  
  64. renderer:attributeRenderer.createDelegate(this,["operators"],0)  
  65. },{  
  66. header:'属性值',  
  67. dataIndex:'propertyValue',  
  68. editor:newExt.grid.GridEditor(newExt.form.TextField({selectOnFocus:true})),  
  69. renderer:attributeRenderer.createDelegate(this,["values"],0)  
  70. }  
  71. ];  
  72.  
  73. varfundConditionGrid=newExt.grid.EditorGridPanel({  
  74. name:'fundCondition',  
  75. id:'fundCondition',  
  76. store:gStore,  
  77. cm:newExt.ux.grid.MyColumnModel(this,gStore,column),  
  78. sm:sm,  
  79. tbar:newExt.Toolbar(['-',{  
  80. text:'添加条件',  
  81. //_onAddCondition方法是按钮“添加条件”的响应函数,实现在列表中增加一个条件的功能,这里从略。  
  82. handler:_onAddCondition.createDelegate(this)  
  83. },'-',{  
  84. text:'删除条件',  
  85. //_onRemoveCondition方法是按钮“删除条件”的响应函数,实现在列表中删除一个条件的功能,这里从略。  
  86. handler:_onRemoveCondition.createDelegate(this)  
  87. },'-']),  
  88. frame:true,  
  89. collapsible:true,  
  90. animCollapse:false,  
  91. title:'助研基金申请条件',  
  92. width:350,  
  93. height:300,  
  94. iconCls:'icon-grid',  
  95. clicksToEdit:1,  
  96. renderTo:'example1'  
  97. });  
  98. }); 

当属性名称选择性别、职称或者院系时,属性值分别对应不同的下拉列表供用户选择,当属性名称选择年龄或者论文数量时,属性值则对应数字文本框供用户输入。如图1-图5所示。

编辑助研基金申请条件 
图1.编辑助研基金申请条件1

编辑助研基金申请条件2 
图2.编辑助研基金申请条件2

编辑助研基金申请条件3 
图3.编辑助研基金申请条件3

编辑助研基金申请条件4 
图4.编辑助研基金申请条件4

编辑助研基金申请条件5 
图5.编辑助研基金申请条件5

这里表示计算机学院年龄不大于35岁讲师以上(含)职称的女教师,如果发表的论文数量多于10篇的,有资格申请该助研基金。可以看出该基金体现了对优秀青年女教师的科研支持。此部分的代码请参考示例代码中的Example1.js。

精彩图集

赞助商链接