2016-04-07 9 views
1

グリッドセルの編集を有効にするには、同じ行のチェックボックスをクリックした後でなければなりません。extjs - チェックボックスをオンにした後にグリッドセルの編集を有効にする方法

var simpsonPanel = Ext.create('Ext.grid.Panel', { 
    title: 'Simpsons', 
    //selType: 'checkboxmodel', 
    forceFit:true, 
    plugins: [ 
     Ext.create('Ext.grid.plugin.CellEditing', { 
     clicksToEdit: 1 
    })], 
    store: Ext.data.StoreManager.lookup('simpsonsStore'), 
    columns: [ 
     { 
       xtype: 'checkcolumn', 
       // text: 'Phase 9', 
       dataIndex:'Phase9', 
       listeners: { 
         checkChange: onCheckChange 
       }}, 
     { text: 'Name', dataIndex: 'name'}, 
     { text: 'Email', dataIndex: 'email' }, 
     { text: 'Phone', dataIndex: 'phone' } 
    ], 
    height: 200, 
    width: 400 

}); 

合計コードhttps://fiddle.sencha.com/#fiddle/18c0

チェックボックスをクリックした後、私は編集のために名前のセルを有効にする必要があります。 チェックボックスが選択されていない場合、ユーザーは名前セルを編集できません。

おかげ

答えて

1

あなたはbeforeeditイベントをリッスンし、編集を許可するかどうかのフラグを返すことができます。コンフィグオプション

Ext.create('Ext.grid.plugin.CellEditing', { 
    clicksToEdit: 1, 
    listeners: { 
     beforeedit: function(editor, event) { 
      return event.record.get('Phase9'); 
     } 
    } 
})] 

https://fiddle.sencha.com/#fiddle/18c4