EXTJS禁用checkcolumn中的复选框

时间:2016-12-12 09:23:16

标签: extjs checkbox grid extjs4.1

我想根据其他列的值禁用行的特定复选框。

我查看了问题here。但是这里的所有答案都只是修改了CSS。

我不想只是更新的CSS。我想实际禁用单击复选框。

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:3)

你也可以这样做 检查小提琴:
localizedDescription

    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'
    }]
});

答案 1 :(得分:0)

检查这个小提琴

https://fiddle.sencha.com/#view/editor&fiddle/1l26

我使用编辑器复选框和checkcolumn完成了这项工作。