关于CheckboxSelectionModel回显和初始化默认选中

直接贴代码 如下:

直接贴代码 如下:

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之后!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值