2012-02-29 17 views
1

私はチェック列とチェック列のグリッドを持っていますが、私のデータを読んでいますが、私はそれを設定できません。簡単に設定する方法は不思議です。 私のチェック・カラムを自分のグリッド・データ内でのみ表示にしたいのですが、それを設定する方法は?以下 は私のサンプルコードです:Extjs.grid.CheckColumnを読み取り専用にするにはどうすればいいですか?

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 
+0

はhttp://stackoverflow.com/questions/11440216で作業溶液のための答えを参照してください//do-do-i-disable-in-extjsグリッド – peter

答えて

2

あなたはCheckColumnで何もしないようにれるonmousedown を上書きすることができます。

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

感謝の気持ちを共有する – user983738

+3

onMouseDown: 'Ext.emptyFn'の方が短い:-) – Francesco

+0

はExtJsで動作しません3.3.1 – peter

1

checkcolumnの設定でこのイベントを追加します。

processEvent: function() { return false; } 
+0

高すぎる。これは最高の答えになるはずです。 extjs 5.0.1で動作します。 'processEvent:Ext.emptyFn' – Arvin

4

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

4

あなたのコードベースにこれを追加し、代わりに(内線4.2でテスト済み)「checkcolumn」の「r​​eadonlycheckcolumn」XTYPEを使用します。

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