效果图如上:
页面代码:
5 Ext.QuickTips.init(); //放在图标上会自动提示信息 6 7 Ext.define(‘ExtApp.view.StudentList‘ , { 8 extend : ‘Ext.grid.Panel‘ , 9 id : ‘StudentListGrid‘ , 10 xtype : ‘StudentList‘ , 11 store : ‘StudentList‘ , 12 draggable:false, //设置为false则禁用拖拽改变列顺序、 13 columnLines:true,//添加列的框线样式 14 viewConfig: { 15 stripeRows:true //True来实现隔行换颜色 16 }, 17 tbar : [{ 18 xtype : ‘form‘, 19 id : ‘queryFormSL‘ , 20 width : ‘100%‘, 21 items : [{ 22 xtype : ‘container‘, 23 padding : 5, 24 flex : 2, 25 layout : { 26 type : ‘hbox‘ 27 }, 28 items : [{ 29 labelWidth : 60, 30 labelAlign : ‘right‘, 31 width: 200, 32 xtype : ‘combo‘, 33 fieldLabel:‘选择年级‘, 34 name:‘gradeCode‘, 35 id : ‘cobStudentListGradeCode‘, 36 store : ‘Grade‘, 37 valueField : ‘gradeCode‘, 38 displayField : ‘gradeName‘, 39 editable : false, 40 emptyText : ‘请选年级‘, 41 queryMode : ‘local‘ 42 43 },{ 44 xtype : ‘textfield‘, 45 labelSeparator:‘:‘, 46 labelWidth : 150, 47 width: 300, 48 labelAlign : ‘right‘, 49 id:‘SListTextField‘, 50 name:‘userNameORuserCode‘, 51 fieldLabel : ‘输入学生ID或学生姓名‘ 52 },{ 53 xtype : ‘button‘, 54 id : ‘btnStuListQuery‘, 55 text : ‘查询‘ 56 },{ 57 xtype : ‘button‘, 58 id : ‘btnStuListReset‘, 59 text : ‘重置‘ 60 }] 61 }] 62 }], 63 columns : [ 64 { xtype:‘rownumberer‘,text:‘序号‘,flex:1, align:‘center‘}, 65 { text:‘账户ID‘ , flex:2 , align:‘center‘ , dataIndex:‘userCode‘ }, 66 { text:‘用户姓名‘ , flex:1 , align:‘center‘ , dataIndex:‘userName‘}, 67 { text:‘性别‘ , flex:1 , align:‘center‘ , dataIndex:‘sex‘ }, 68 { text:‘城市‘ , flex:1 , align:‘center‘ , dataIndex:‘cityName‘ }, 69 { text:‘学校‘ , flex:1 , align:‘center‘ , dataIndex:‘schoolName‘}, 70 { text:‘年级号‘ , flex:1 , align:‘center‘ , dataIndex:‘gradeCode‘}, 71 { text:‘联系电话‘ , flex:2 , align:‘center‘ , dataIndex:‘tel‘}, 72 { text:‘邮箱‘ , flex:2 , align:‘center‘ , dataIndex:‘email‘}, 73 { text:‘QQ‘ , flex:2 , align:‘center‘ , dataIndex:‘qq‘}, 74 { header:‘账户注册时间‘,align:"center",flex:3,dataIndex:‘firstAccessDate‘,xtype:‘datecolumn‘,format:‘Y-m-d H:i:s‘}, 75 { header: ‘详细信息‘ , 76 xtype: ‘actioncolumn‘ , 77 width: 50 , 78 flex : 1 , 79 align:‘center‘, 80 items: [{ 81 icon: ‘images/grid.png‘ , 82 tooltip: ‘详细信息‘ , 83 handler: function(grid, rowIndex, colIndex){ 84 var record = grid.getStore().getAt(rowIndex); 85 var win = Ext.create(‘ExtApp.view.StudentDetails‘).show(); 86 var form = win.down(‘form‘).getForm(); 87 form.loadRecord(record); 88 } 89 }] 90 } 91 ], 92 dockedItems:[{ 93 xtype: ‘pagingtoolbar‘, 94 store : ‘StudentList‘ , // GridPanel中使用的数据 95 dock: ‘bottom‘, 96 displayInfo: true 97 }] 98 });
点击"查询"按钮触发事件:
1 StuListQuery:function(btn,event){ 2 var store=this.getStore(‘StudentList‘); 3 var form=btn.up(‘form[id=queryFormSL]‘); 4 var grid=form.up(‘grid[id=StudentListGrid]‘); 5 //var grid=Ext.getCmp(‘StudentListGrid‘); 6 var pageBar = grid.down(‘pagingtoolbar‘); 7 var userNameORuserCode=form.getForm().getValues()[‘userNameORuserCode‘]; //form.getForm.getValues()返回的是一个数组 8 var gradeCode = form.getForm().getValues()[‘gradeCode‘]; 9 store.setProxy({ 10 type:‘ajax‘, 11 actionMethods:{ 12 read:‘POST‘ 13 }, 14 url:‘queryStudent.action‘, 15 extraParams:{‘userNameORuserCode‘:userNameORuserCode, 16 ‘gradeCode‘:gradeCode 17 }, 18 reader:{ 19 type:‘json‘, 20 root: ‘rows‘, 21 totalProperty: ‘results‘ 22 } 23 }); 24 pageBar.moveFirst(); 25 },
Extjs中找Form,Extjs找组件的方式:
1,Extjs.getCmp
2,通过组件之间的关系,up,down
时间: 2024-10-02 08:55:31