Extjs grid 中 checkbox列无法编辑的解决

33 篇文章 1 订阅

Extjs grid单元格编辑,有一个字段【只读】readonly,设置xtype为checkcolumn,

但点击checkbox时状态切换有问题,只能把选中的改为不选中,不选中的却无法选中

        var fieldCellEditing = Ext.create("PSI.UX.CellEditing", {
            clicksToEdit: 1, //点击几次进入编辑模式
            listeners: {
                edit: {
                    fn: me.fieldCellEditingAfterEdit,
                    scope: me
                }
            }
        });

        me.__FieldGrid = Ext.create("Ext.grid.Panel", {
            viewConfig: {
                enableTextSelection: true
            },
            title: '显示字段配置',
            border: 1,
            selModel: Ext.create('Ext.selection.CheckboxModel', {}),
            columnLines: true,
            plugins: [
                fieldCellEditing
            ],

            columns: [{
                xtype: "rownumberer",
                width: 40
            }, {
                header: "字段",
                dataIndex: "field_name",
                menuDisabled: true,
                sortable: true,
                editor: {
                    allowBlank: false
                },
                width: 140
            }, {
                header: "字段标题",
                dataIndex: "field_caption",
                menuDisabled: true,
                sortable: true,
                editor: {
                    allowBlank: false
                },
                width: 120
            }, {
                header: "只读",
                dataIndex: "readonly",
                menuDisabled: true,
                sortable: true,
                align: 'center',
                xtype: 'checkcolumn'
				}
			...	

原来是字段定义这里的问题: 

Ext.define(modelName, {
	extend: "Ext.data.Model",
	fields: [
		{name: "field_name", type: 'string'},
		{name: "field_caption", type: 'string'},             
		{name: "readonly", type: 'number'}, 
	]
});

要把readonly的type从number改为bool

Ext.define(modelName, {
	extend: "Ext.data.Model",
	fields: [
		{name: "field_name", type: 'string'},
		{name: "field_caption", type: 'string'},             
		{name: "readonly", type: 'bool'}, 
	]
});
这样就ok了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值