直接贴代码 如下:
直接贴代码 如下:
Ext.onReady(function() {
//添加复选框
var sm = new Ext.grid.CheckboxSelectionModel({
//为true单选,false多选
singleSelect : false
});
var cm = new Ext.grid.ColumnModel([
sm,
{
header : '序号',
dataIndex : 'id',
width : 30
},
{
header : '说明',
dataIndex : 'explain',
width : 380
},
{
header : '备注',
dataIndex : 'remark',
width : 430
}
]);
var data = [
[ '1', '1.裸光纤接入', '' ],
[ '2', '1.接入区域为农村,2.且需要新建光缆,3.且需要新建5000元以上的设备', '农村=综合业务区未下沉的区域,满足条件1后条件2或条件3满足一个即为资本' ],
[ '3', '1.需要新建二级分纤点', '' ],
[ '4', '1.需要新建5000元以上的设备', '' ]
];
var store = new Ext.data.SimpleStore({
fields : [ 'id', 'explain', 'remark' ]
});
var groupGrid = new Ext.grid.GridPanel({
renderTo : "fruitTypeAdmin",
title : "资本建设判断",
width : 870,
height : 200,
layout : "form",
hideLabels : false,
//autoHeight: true, //数据传回来之前高度未知,所以要使用自适应高度
labelAlign : "right",
defaultType : 'textfield',
loadMask : {
msg : '加载数据中,请稍候...'
},
store : store,
sm : sm,
cm : cm,
/*bbar: new Ext.PagingToolbar({
pageSize: 20, //每页显示10条数据
store: store,
displayInfo: true, //显示数据信息
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录" //没有数据时显示的信息
}),*/
buttons : [ {
text : "保存",
tooltip : "保存",
handler : function() {
var record = groupGrid.getSelectionModel().getSelections();
if (record.length > 0) {
var ids = "";
var explains = "";
for (var i = 0; i < record.length; i++) {
ids = ids + record[i].get('id') + ";";
explains = explains + record[i].get('explain') + ";";
}
ids = ids.substring(0, ids.length - 1);
explains = explains.substring(0, explains.length - 1);
var json = "{"
+ "\"ids\":\"" + ids + "\","
+ "\"explains\":\"" + explains + "\""
+ "}";
Ext.Ajax.request({
url : "***",
params : {
json : json
},
success : function(response) {
var responseData = Ext.decode(response.responseText);
if (responseData.success) {
Ext.Msg.alert("提示", responseData.msg);
var records = []; //存放选中记录
var idstr = ids.split(";");
for (var i = 0; i < idstr.length; i++) {
var record = idstr[i];
records.push(store.getAt(record - 1));
}
sm.selectRecords(records); //执行选中记录
} else {
Ext.Msg.alert("错误", responseData.msg);
}
},
failure : function(response) {
Ext.Msg.alert("错误", responseData.msg);
}
});
}
}
} ]
});
store.on('load', function(store, records, options) {
var ids = '${object.capitalNo}';
var idArray = ids.split(",");
var _arraySelected = new Array();
for (var i = 0; i < idArray.length; i++) {
_arraySelected.push(store.getAt(idArray[i] - 1));
}
sm.selectRecords(_arraySelected);
}, this, {
delay : 1000
})
store.loadData(data);
});
'${object.capitalNo}'值存的选中保存后的ID
注意storede on load加载必须放在创建new Ext.grid.GridPanel之后!