2011-06-20 14 views
8

To prowadzi od my previous question.
Inicjuję siatkę za pomocą modelu wyboru CheckBox, jednak po ponownym skonfigurowaniu siatki model wyboru pola wyboru zostaje zignorowany.
Co chcę zrobić, to dynamicznie dodać model wyboru CheckBox do siatki po rekonfiguracji kolumn siatki i wizualnie wyświetlić go.Jak dynamicznie ustawić siatki wyboru Model wyboru CheckBox w ExtJs4?

Próbowałem coś takiego:

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

Hi shane87, znaleźliście rozwiązanie tego problemu? Jak to rozwiązałeś? – hienvd

+0

Hi @hienvd wydaje się, że był to błąd, który został naprawiony zgodnie z odpowiedzią Marc Abbey poniżej – shane87

Odpowiedz

0

Jeśli używasz ExtJS4, po prostu zrobić grid.getSelectionModel() po rekonfiguracji i sprawdzić, czy to działa.
Nie musisz do do niczego z zwróconą wartością. (jeśli to nie działa, debugowanie, aby zobaczyć, co jest zwrócony przez tę metodę.jest to instancja CheckboxModel?)

+0

Dzięki. Tak, zwraca instancję CkeckboxModel. potrzebuję jakiegoś sposobu, aby go ponownie wyświetlić? – shane87

+0

Myślałem, że grid.getSelectionModel() zrekonfiguruje selModel przed zwróceniem go. Czy nie jest? (musisz zadzwonić po rekonfiguracji) –

+0

Dziękuję za odpowiedź. Ale to nie zadziałało ... nie ma innych pomysłów? Naprawdę utknąłem na tym :( – shane87

2

To zadziałało dla mnie. SelectionModel dynamiczny flag

//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 .... 
}) 
Powiązane problemy