2011-06-20 4 views
8

Это ведет от my previous question.
Я инициализирую сетку с помощью модели выбора CheckBox, однако, когда я переконфигурирую сетку, модель выбора флажка визуально исчезает.
Что я хочу сделать, это динамически добавить модель выбора CheckBox в сетку после реконфигурации столбцов сеток и визуально отобразить ее.Как динамически устанавливать сетки CheckBox Selection Model в ExtJs4?

Я пытался что-то вроде этого:

var sm = new Ext.selection.CheckboxModel(); 
grid.selModel = sm; 
grid.doLayout(); 
+0

Привет shane87, вы найдете решение этой проблемы? Как вы это решили? – hienvd

+0

Привет @hienvd кажется, что это была ошибка, которая была исправлена ​​в соответствии с ответом Марка Абби ниже – shane87

ответ

0

Если вы используете ExtJS4, просто сделать grid.getSelectionModel() после переконфигурации и посмотреть, если он работает.
Вам не обязательно do что-нибудь с возвращаемым значением. (если это не сработает, отлаживайте, чтобы узнать, что возвращается этим методом. Это пример CheckboxModel?)

+0

Спасибо. Да, он возвращает экземпляр CkeckboxModel. Мне нужно какой-то способ перерисовать его? – shane87

+0

Я думал grid.getSelectionModel() переконфигурировал selModel, прежде чем возвращать его. Не так ли? (вам нужно позвонить ему после вашей реконфигурации) –

+0

Спасибо за ваш ответ. Но это не сработало ... других идей? Im действительно застрял на этом :( – shane87

2

Это сработало для меня. SelectionModel динамический флаг

//dynamically change, true or false, as the case 
selectionModel = true 

var sm = {} // Selection Model 

if (selectionModel){ 
    sm = Ext.create('Ext.selection.CheckboxModel') 
} 

var grid = Ext.create('Ext.grid.Panel', { 
    selModel: sm,   
    frame: true, 
    store: store, 
    columns: columns, 
    // more code .... 
}) 
Смежные вопросы