2015-05-25 1 views
0

У меня есть сетка, закодированная в Ext js 4.0. Ниже приведен код:Как изменить значение «disableSelection» сетки в Ext js 4.0 динамически?

var xxx=Ext.create('Ext.grid.GridPanel', { 
        title: 'tableId', 
        id : 'tableId', 
        disableSelection:true, 

        //remaining code 

      } 

Я хочу, чтобы изменить значение «disableSelection»динамически вне сетки в соответствии с два различных условиях.

Как это сделать?

ответ

2

Если Вы желаете, чтобы отключить выбор строк сетки (например, в модели выбора флажок), вы можете использовать:

xxx.getSelectionModel().setLocked(true); 

Чтобы разрешить выбор просто использовать реверс:

xxx.getSelectionModel().setLocked(false); 

Пожалуйста, посмотрите эту скрипку для примера: https://fiddle.sencha.com/#fiddle/nf8

+0

Хорошее решение. Я пытался найти что-то подобное в документации. – MarthyM

+0

@ Zero Cool- Спасибо, что он работает отлично. –

+1

Обратите внимание, что ['setLocked'] (http://docs.sencha.com/extjs/4.0.7/#!/api/Ext.selection.Model-method-setLocked) просто заблокирует текущее состояние выбора, то есть предотвратит любые изменения в выборе. Если вы действительно хотите выбрать ** disable **, вы также должны вызвать ['deselectAll'] (http://docs.sencha.com/extjs/4.0.7/#!/api/Ext.selection.Model-method -deselectAll) перед блокировкой модели выбора. – matt