Ext.data.Store的load方法的参数中callback回调函数有三个参数,
r : Ext.data.Record[]
options: 加载的配置项对象。Options object from the load call
success: 是否成功。Boolean success indicator第一个参数如何得到record的id数据源代码如下:
this.Record = Ext.data.Record.create([
{name: 'caPk', mapping: 'caPk'},
{name: 'caPatientId', mapping: 'caPatientId'},
{name: 'caVisitId', mapping: 'caVisitId'},
{name: 'caInpNo', mapping: 'caInpNo'},
{name: 'caName', mapping: 'caName'},
{name: 'caAge', mapping: 'caAge'},
{name: 'caSex', mapping: 'caSex'},
{name: 'caBloodType', mapping: 'caBloodType'},
{name: 'caDeptCode', mapping: 'caDeptCode'},
{name: 'caMainDiagnose', mapping: 'caMainDiagnose'},
{name: 'opName', mapping: 'opName'}
]); // 数据源代理
this.dataProxy = new Ext.data.HttpProxy({
url:'cbi/manage/index/list.do'
}); var store = new Ext.data.JsonReader({
root:'data',
totalProperty:'count',
id: 'caPk'
}, this.Record)
// 创建数据源
this.ds = new Ext.data.Store({
proxy:this.dataProxy,
autoLoad:false,
listeners:{
datachanged:clearAllSelectedcheckBox
},
reader: store
});
在Grid加载数据源时:
this.ds.load({
params:{start:0,limit:15},
callback:function(r,options,success){
if(success){
var records = new Array();
for(var i=0;i<=r.length;i++){
alert(r[i].data.caPk);
//得到id之后用于其他判断
};
//selModel.selectRecords(records,true);//每次load数据时,都要默认选中
}
},
scope:this
});现在就是想得到r中每个Record中的caPk(主键)。
高手帮帮忙
r : Ext.data.Record[]
options: 加载的配置项对象。Options object from the load call
success: 是否成功。Boolean success indicator第一个参数如何得到record的id数据源代码如下:
this.Record = Ext.data.Record.create([
{name: 'caPk', mapping: 'caPk'},
{name: 'caPatientId', mapping: 'caPatientId'},
{name: 'caVisitId', mapping: 'caVisitId'},
{name: 'caInpNo', mapping: 'caInpNo'},
{name: 'caName', mapping: 'caName'},
{name: 'caAge', mapping: 'caAge'},
{name: 'caSex', mapping: 'caSex'},
{name: 'caBloodType', mapping: 'caBloodType'},
{name: 'caDeptCode', mapping: 'caDeptCode'},
{name: 'caMainDiagnose', mapping: 'caMainDiagnose'},
{name: 'opName', mapping: 'opName'}
]); // 数据源代理
this.dataProxy = new Ext.data.HttpProxy({
url:'cbi/manage/index/list.do'
}); var store = new Ext.data.JsonReader({
root:'data',
totalProperty:'count',
id: 'caPk'
}, this.Record)
// 创建数据源
this.ds = new Ext.data.Store({
proxy:this.dataProxy,
autoLoad:false,
listeners:{
datachanged:clearAllSelectedcheckBox
},
reader: store
});
在Grid加载数据源时:
this.ds.load({
params:{start:0,limit:15},
callback:function(r,options,success){
if(success){
var records = new Array();
for(var i=0;i<=r.length;i++){
alert(r[i].data.caPk);
//得到id之后用于其他判断
};
//selModel.selectRecords(records,true);//每次load数据时,都要默认选中
}
},
scope:this
});现在就是想得到r中每个Record中的caPk(主键)。
高手帮帮忙
解决方案 »
- 如何使用自己的播放器播放土豆等站点的视频
- 动态上传附件,获取附件大小并显示?
- jsp中form与html:form中action的区别问题
- js 能否实现对 一个变量的监听 事件!大家帮帮忙,谢谢 !
- 如何使光标落在文本框的文本最后
- 关于array数组的问题
- xmlDoc_ = parent.parent.FL_SEARCH_XML_DOC 这句话是什么意思
- 当弹出的页面关闭时,能否刷新原先的页面(急!在线!嫌分不够可再开贴送)
- 关于从下拉列表中选择然后自动submit,怎么实现?
- 【急】一个问卷调查的,怎么判断是否选择或者输入????
- 在form表单里有多个div,判断隐藏与显示
- 关于div自适应浏览器宽度和高度的问题
for(var i=0;i<r.length;i++){
alert(r[i].get("caPk"));
};
params:{start:0,limit:15},
callback:function(r,options,success){
if(success){
var records = new Array();
for(var i=0;i<=r.length;i++){
alert(r[i].data.caPk);
//得到id之后用于其他判断
};
//selModel.selectRecords(records,true);//每次load数据时,都要默认选中
}
},
scope:this
});
这个load只有在第一次加载时运行,之后就不会再执行了,Grid是一个分页的表格,
每次翻页时,都是执行this.dataProxy的beforeload方法,
现在我想要在点击翻页后,load完下一页的数据后得到这些records.
我该怎么做?????????
在哪里监听事件,,,,,, //加载数据之前,传递参数
this.dataProxy.on("beforeload", function(proxy, params) {
params.keyWord = this.keyWord;
params.caMainDept = this.caMainDept;
params.caDeptCode = this.caDeptCode;
params.caMainDiagnose = Ext.encode(this.caMainDiagnose);
params.level = this.level;
params.searchArray = this.searchArray;
}.createDelegate(this));
load只有 params:{start:0,limit:15} 参数变化, 才会将重新加载并调用回调函数
this.ds.load({params:{start:0,limit:15}});第一次加载时必须要传start和limit,
如果不传,数据加载不到,如何让params:{start:0,limit:15} 参数变化?????我想要在加载本页的记录完成后,取出这些记录。然后做一些特殊处理,
看了看PagingToolBar的源码,
他的onload方法中,
// private
onLoad : function(store, r, o){
if(!this.rendered){
this.dsLoaded = [store, r, o];
return;
}
var p = this.getParams();
this.cursor = (o.params && o.params[p.start]) ? o.params[p.start] : 0;
var d = this.getPageData(), ap = d.activePage, ps = d.pages; this.afterTextItem.setText(String.format(this.afterPageText, d.pages));
this.inputItem.setValue(ap);
this.first.setDisabled(ap == 1);
this.prev.setDisabled(ap == 1);
this.next.setDisabled(ap == ps);
this.last.setDisabled(ap == ps);
this.refresh.enable();
this.updateInfo();
this.fireEvent('change', this, d);
},
this.cursor = (o.params && o.params[p.start]) ? o.params[p.start] : 0;
这句话是什么作用呢?