2011-06-20 31 views
8

这导致从my previous question
我用一个复选框选择模型初始化一个网格,但是当我重新配置网格时,复选框选择模型会消失。
我想要做的是在重新配置网格列后动态地将CheckBox选择模型添加到网格中,并可视化地显示它。如何在ExtJs4中动态设置网格CheckBox选择模型?

我已经试过这样的事情:

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

嗨shane87,?你是如何解决这个问题的? – hienvd

+0

嗨@hienvd好像这是一个bug,已经根据Marc Abbey的回答在 – shane87

回答

0

如果使用ExtJS4,只是做一个grid.getSelectionModel()你重新配置后,看看它是否工作。
您不必返回值的任何东西。 (如果它不起作用,请调试以查看此方法返回的内容是否是CheckboxModel的实例?)

+0

下修复了。谢谢。是的,它返回CkeckboxModel的一个实例。我需要某种方式来重新显示它? – shane87

+0

我在想,grid.getSelectionModel()会在返回之前重新配置selModel。不是吗? (您需要在重新配置后调用它) –

+0

感谢您的回复。但是这没有用..其他想法?我真的坚持这一个:( – 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 .... 
})