这些方法大多运行在ExtJS3.2到3.6版本,极个别方法也可以用于4.x版本,请使用前先测试。
- 修改完某一行数据后,重新刷新表格后,默认选中修改的那一行数据,优化用户体验。
// 修改成功后,重新加载表格 var dataPanel = Ext.getCmp('data_scan_panel'); // 刷新表格 dataPanel.getStore().reload({ callback : function(records, options, success){ // 选中修改行 dataPanel.getSelectionModel().selectRow(rowIndex); } });
- 切换页面显示的内容,即面板panel的切换(该方法仅适用于3.x版本,4以后无该方法)
//移除原有的面板 centerPanel.removeAll(); //创建新的面板 var newPanel = new Ext.Panel({ title:'新的面板', autoScroll : true, anchor : '100% 100%' }); centerPanel.add(newPanel); //重新渲染 centerPanel.doLayout();
- 表格获取数据失败时的提示
一般表格查询数据出现异常或者无结果时,表格中不显示数据,这时需要提醒用户一下
查询有数据时返回的数据
查询无数据时返回的数据{[name:"zhangsan",age:25,sex:0],[name:"lisi",age:26,sex:0],[name:"wangwu",age:25,sex:1]}
在store的加载回调函数中解析返回的数据[{"result" : "false","msg": "查询出现异常!"}]
store.load({ callback : function(records, options, success){ //console.log(records);//record实际上是个数组,所以需要records[0]获取数据 if(records[0].json.result == 'false'){ Ext.Msg.alert('提示',records[0].json.msg); } } });
如果有分页工具栏的话,也可以使用下面的方法bbar : new Ext.PagingToolbar({ pageSize : 10, store : store, displayInfo : true, displayMsg : '显示第{0}条到{1}条,记录共{2}条', emptyMsg : '没有记录' })