需求:页面分为两个部分,第一部分为grid显示数据,第二部分为formPanel显示数据,过程如下,调用过程1,将数据显示在grid中,选中grid中的一条数据,得到这条数据的一个cashcode
,然后再将cashcode
作为参数,调用过程2到数据库中查询数据,这时将查询到的数据放到一个store中,同时调用一个回调函数将这条数据插入到formPanel中。整个事件的处理过程都是在选中grid中的一条数据时执行的。所以在grid中的CheckboxSelectionModel中执行主要代码如下:
-------------------------------------------------------------------------------------
this.themeCheckbox = new Ext.grid.CheckboxSelectionModel( {
singleSelect : true,
checkOnly : false,
listeners : {
rowselect : function(obj, rowIndex, record) {//选中某一行执行以下操作
var record = Ext.getCmp(_this.genId("main")).getSelectionModel().getSelected();//获取被选中的这一行
if (record) {
if(record.get("cashcode") == null || record.get("cashcode") == ""){
return;
}
//这里的formStore是一个获取数据的store,在这里加载时传递从grid中获取的参数cashcode传递到后台
formStore.load({
params : {
cashcode:record.get("cashcode"),
start : 0,
limit : gLimit
},
//重要的是这里,一个回调函数,调到数据加载到formPanel中,注意向formPanel中只能加载一条数据
callback : function(r , options ,success){
if (r) {
//选中行后加载formStore赋值给formpanel
_formPanel.form.loadRecord(r[0]);//r[0]获取一条数据
}
/*for (var i = 0; i < conrulesStoreF.getCount(); i++) {
var record = conrulesStoreF.getAt(i);
alert(record.get('cashcode'));
}*/
//Ext.getCmp(conrulesStoreF.getById('cashcode')).setValue(record.get("cashcode"));
}
});
}
}
}
});
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。