Grid(命名为BasicGrid)中定义了:this.sm = new Ext.grid.CheckboxSelectionModel();。表示一列checkBox。
情景:上面Grid所在的窗口弹出之后,选择一项(我这里是只选一项)点击确定之后关闭该窗口。当需要再次弹出该窗口时,把刚刚已经选择的那一项打上勾。下面是方法:我是写在弹出该窗口的方法中的。
basicGrid=new BasicGrid();
basicGrid.store.load();
if(""!=code){///这里的code是一个标识,用于在下面的循环中找到刚刚选择的哪一行,一般在点击选定按钮后为其赋值,并且具有唯一性
basicGrid.store.on('load',function(){
var length = basicGrid.getStore().getTotalCount();
for(var i=0;i<length;i++){
if(basicGrid.getStore().getAt(i).get("code")==code){
var model=basicGrid.getSelectionModel();
model.selectRow(i);///进入到if中后,"i"就是刚刚选择的那一项的行号
break;//由于是唯一的,所以一旦找到就不必再循环了
}
}
});
}
选择多项:把上面的code改为数组用于存放标识集合,然后用双重循环。但是应该效率比较低吧
本文介绍如何在ExtJS Grid中实现复选框的预选中功能。通过监听Grid的数据加载事件,在加载完成后遍历数据源,找到之前选中的记录并设置其为选中状态。

被折叠的 条评论
为什么被折叠?



