如何将Extjs.grid.CheckColumn设置为禁用以进行只读?

时间:2012-02-29 11:31:26

标签: extjs extjs3

我有一个带检查列的网格和检查列读取我的数据,但我无法设置它,我想知道如何设置它的方法很简单。 我希望我的检查列只能在我的网格数据中查看如何设置它? 下面是我的示例代码:

var chkColH = new Ext.grid.CheckColumn({
    header: ' H',
    dataIndex: 'testing',
    resizable:false,
    disabled :true, //***I wan to disabled this check column in my grid for view only
    width: 25
});

colModel=new Ext.grid.ColumnModel([
    chkColH
]);


        xtype:'editorgrid',
        id:'theGrid',
        stripeRows:true,
        store:gridStore,
        colModel:colModel,
        trackMouseOver:false,
        columnLines:true,
        enableColumnMove:false,
        enableHdMenu:false,
        frame:true,
        disableSelection:true,
        plugins: [chkColH],
        sm:chkSM

4 个答案:

答案 0 :(得分:4)

var chkColH = new Ext.grid.CheckColumn({ header: 'Rerun', dataIndex: 'rerun', resizable:false, width: 25, disabled : true, disabledCls : 'x-item-enabled' });

答案 1 :(得分:4)

将此添加到您的代码库并使用'readonlycheckcolumn'xtype而不是'checkcolumn'(使用Ext 4.2测试):

Ext.define('Ext.grid.column.ReadOnlyCheckColumn', {
    extend: 'Ext.grid.column.CheckColumn',
    alias: 'widget.readonlycheckcolumn',
    requires: ['Ext.grid.column.CheckColumn'],
    listeners: { beforecheckchange: function () { return false; } }
});

答案 2 :(得分:2)

您可以覆盖 onMouseDown ,在 CheckColumn 中不执行任何操作:

var chkColH = new Ext.grid.CheckColumn({
    header: ' H',
    dataIndex: 'testing',
    resizable:false,
    width: 25,
    onMouseDown : function(e, t){}
});

答案 3 :(得分:1)

在checkcolumn配置中

添加此事件:

processEvent: function () { return false; }