选中列中的EXTJS禁用复选框

b4qexyjb  于 2022-09-26  发布在  其他
关注(0)|答案(3)|浏览(163)

我想根据其他列的值禁用行的特定复选框。
我看了问题here。但这里的所有答案都修改了css。
我不想只更新css。我想实际上禁用用于单击的复选框。
有没有办法做到这一点?

sy5wg1nm

sy5wg1nm1#

你也可以这样做
检查提琴:
https://fiddle.sencha.com/#view/editor&fiddle/1maa

var userStore = Ext.create('Ext.data.Store', {
    data: [{
        "id": 1,
        "abbr": "AL",
        "name": "Alabama",
        "completed":false
    }, {
        "id": 2,
        "abbr": "AK",
        "name": "Alaska",
        "completed":false
    }, {
        "id": 3,
        "abbr": "AZ",
        "name": "Arizona",
        "completed":false
    }]
});

Ext.create('Ext.grid.Panel', {
    renderTo: document.body,
    store: userStore,
    width: 400,
    height: 200,
    title: 'Application Users',
    columns: [{
        width: 25,
        align: 'left',
        xtype: 'checkcolumn',
        tdCls: 'checkBoxColum',
        dataIndex: 'completed',
        renderer: function (value, meta, record, row, col) {
            /* Permission Check */
            var me = this;

            if(record.data.id==1)
            {
                meta['tdCls'] = 'x-item-disabled';
            }else
            {
                meta['tdCls'] = '';
            }
            return new Ext.ux.CheckColumn().renderer(value);
        }
    }, {
        text: 'name',
        width: 100,
        sortable: false,
        hideable: false,
        dataIndex: 'name'
    }]
});
t1qtbnec

t1qtbnec2#

检查一下这个提琴
https://fiddle.sencha.com/#view/editor&fiddle/1l26
我已经使用编辑器复选框和复选列完成了这项工作。

gpfsuwkq

gpfsuwkq3#

我的ExtJS 4解决方案

{
   xtype: 'checkcolumn',
   dataIndex: 'Check',
   width: 30,
   renderer: function (value, metaData, record) {
       return record.get('isDisabled') ? '' :
              (new Ext.grid.column.CheckColumn()).renderer(value);
   }
}

需要将下一个设置添加到网格:

selModel: Ext.create('Ext.selection.CellModel', {
    mode: 'SIMPLE'
}),

相关问题