87,910
社区成员
发帖
与我相关
我的任务
分享
// 数据源代理
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,
pruneModifiedRecords : true,
autoLoad:false,
listeners:{
datachanged:clearAllSelectedcheckBox,
load:function(){
alert("翻页呢哦");
alert("选择的IDs:"+exportIds);
alert(store);
var records = new Array();
for(var i=0;i<store.jsonData.data.length;i++){
if (exportIds.contains(store.jsonData.data[i].caPk)){
//???????我想将加载的数据放在records中,
//这里似乎需要json数据和record的转换,???
records.push(store.jsonData.data[i]);
}
}
//selModel是分页的Grid的选择模型,实现翻页后,之前选择的记录扔保持选中状态。??未实现啊
selModel.selectRecords(records, true);// 以后每次load数据时,都会默认选中
}
},
reader: store
});
//翻页时清空上页的全选Header被选中状态
function clearAllSelectedcheckBox(){
var hd = Ext.fly(Ext.getCmp('caseListGrid').getView().innerHd).child('div.x-grid3-hd-checker');
hd.removeClass('x-grid3-hd-checker-on');
Ext.getCmp('caseListGrid').getSelectionModel().clearSelections();
}
this.Record = Ext.data.Record.create([
{name: 'caDeptCode', mapping: 'caDeptCode'},
{name: 'caSex', mapping: 'caSex'},
{name: 'caInpNo', mapping: 'caInpNo'},
{name: 'caName', mapping: 'caName'},
{name: 'caVisitId', mapping: 'caVisitId'},
{name: 'caPk', mapping: 'caPk'},
{name: 'caPatientId', mapping: 'caPatientId'},
{name: 'caMainDiagnose', mapping: 'caMainDiagnose'},
{name: 'caBloodType', mapping: 'caBloodType'},
{name: 'caAge', mapping: 'caAge'}
]);
//Grid的选择模型
var selModel = new Ext.grid.CheckboxSelectionModel({
listeners:{
//选择时
'rowselect':{
fn : function(e,rowIndex,record){
if(!exportIds.contains(record.data.caPk)){
exportIds.push(record.data.caPk);
recordsChecked.push(record);
}
/**选中导出记录的总条数*/
Ext.getCmp("addexport").setText("已选中"+(exportIds.length).toString()+"条");
}
},
//反选时
'rowdeselect':{
fn : function(e,rowIndex,record){
if(exportIds.contains(record.data.caPk)){
exportIds.remove(record.data.caPk);
recordsChecked.remove(record);
}
Ext.getCmp("addexport").setText("已选中"+(exportIds.length).toString()+"条");
}
}
}
});
// 数据源代理
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,
pruneModifiedRecords : true,
autoLoad:false,
listeners:{
datachanged:clearAllSelectedcheckBox,
load:function(){
alert("翻页呢哦");
alert("选中的IDs:"+exportIds);
alert(store);
var records = new Array();
for(var i=0;i<store.jsonData.data.length;i++){
if (exportIds.contains(store.jsonData.data[i].caPk)){
alert(store.jsonData.data[i].caPk);
alert(exportIds.contains(store.jsonData.data[i].caPk));
/**将json数据转换为Record*/
var obj = store.jsonData.data[i];
var Record = store.recordType;
var r = new Record(obj);
records.push(r);
}
}
alert("已选中的条数:"+records.length);//???????显示条数是2
selModel.selectRecords(records, true);// 以后每次load数据时,都会默认选中
alert(selModel.getCount());//?????????????为何是0??
alert("===");
}
},
reader: store
});
var obj = {xx:xxx,xx:xxx}; //按照record定义顺序的json对象
var Record = store.recordType;
var r = new Record(obj); //转成Record
store.insert(0, r); //插入store
count
"157933"
data
[Object { caSex="男", caName="34234", caVisitId=1, 更多...}, Object { caSex="男", caName="test", caVisitId=1, 更多...}, Object { caDeptCode="消化科", caSex="男", caInpNo="1", 更多...}, 12 更多...]
0
Object { caSex="男", caName="34234", caVisitId=1, 更多...}
1
Object { caSex="男", caName="test", caVisitId=1, 更多...}
2
Object { caDeptCode="消化科", caSex="男", caInpNo="1", 更多...}
3
Object { caDeptCode="肿瘤内科一病区", caSex="男", caInpNo="767108", 更多...}
4
Object { caDeptCode="介入放射科一病区", caSex="男", caInpNo="734807", 更多...}
5
Object { caDeptCode="特需住院部三科", caSex="女", caInpNo="618953", 更多...}
6
Object { caDeptCode="心血管内科一病区", caSex="男", caInpNo="392921", 更多...}
7
Object { caDeptCode="介入放射科一病区", caSex="男", caInpNo="731178", 更多...}
8
Object { caDeptCode="小儿内科二病区", caSex="男", caInpNo="750350", 更多...}
9
Object { caDeptCode="消化内科三病区", caSex="女", caInpNo="750298", 更多...}
10
Object { caDeptCode="肿瘤内科二病区", caSex="女", caInpNo="750945", 更多...}
11
Object { caDeptCode="肿瘤内科一病区", caSex="男", caInpNo="740010", 更多...}
12
Object { caDeptCode="呼吸科康复病区", caSex="男", caInpNo="756021", 更多...}
13
Object { caDeptCode="肝胆外科四病区", caSex="男", caInpNo="671650", 更多...}
14
Object { caDeptCode="特需住院部三科", caSex="男", caInpNo="677007", 更多...}
success
true