Gridpanel中设置默认选中行的功能实现
来源:互联网 发布:windows redmine 迁移 编辑:程序博客网 时间:2024/05/22 06:40
今天想把以前的一个东西重做,遇到了在初始化GridPanel时,要根据id把某行设置为默认选择状态。在编码过程中,遇到了两个问题。
问题1:找不到该id所在行。也就是说,当我想用
var rowCount = backRoleStore.getCount();
for(var i=0;i<rowCount;i++){
if(backRoleStore.getAt(i).get("id") == backRoleId){ //找到此时初始化的行
initRowNo = i;
break;
}
}
来解决锁定目标行的时候,发现rowCount 得到值是0,也就无法进入循环。
产生原因:
我把上面的代码放在了backRoleStore.load();之后,但要知道,Ext的load方法是异步执行,也就是说,load还没完成,就直接执行到了var rowCount = backRoleStore.getCount();因此必然导致无法拿到值的问题。
解决方法:
将其放在callback当中,callback是load结束后执行的操作
backRoleStore.load(
{callback : function(){
var rowCount = backRoleStore.getCount();
for(var i=0;i<rowCount;i++){
if(backRoleStore.getAt(i).get("id") == backRoleId){ //找到此时初始化的行
initRowNo = i;
break;
}
}
}
});
问题2:
解决了问题1,我开始将此行设置为选中状态,用backRoleGrid.getSelectionModel().selectRow(initRowNo );发现不报错,但是没有一点效果。
原因,网上说渲染方法render也是个需要一个时间的过程,我这样写的代码,很可能在render结束之前执行,从而导致被后来的render覆盖。自然也就不是被选中状态。
解决的思路都是采用一段延迟来进行处理。
解决方法一:
backRoleGrid.store.on({load:function(){
setTimeout(function(){
alert('123')
backRoleGrid.getSelectionModel().selectRow(2);
},500);
}
});
解决方法二:
backRoleGrid.on("render",function(){
backRoleGrid.selModel.selectRow(initRowNo,true);
},this,{delay:100}
);
backRoleGrid.render("backRoleDIV");
- Gridpanel中设置默认选中行的功能实现
- 为GridPanel默认选中行
- ListView中设置默认的选中行
- GridPanel去掉选中行的选中状态
- 设置UITableView中单元格的默认选中
- ExtJS中GridPanel默认选中某些列 解决方法:
- Extjs gridPanel对选中行的操作
- Extjs gridPanel对选中行的操作
- Extjs gridPanel对选中行的操作
- Extjs gridPanel对选中行的操作
- 设置默认选中select的选中项
- knockout的默认选中设置
- android在代码中设置Spinner默认选中的值
- easyui中combobox设置默认选中项的方法
- iOS中 cell的选中颜色以及默认选中行
- 默认选中ext:GridPanel第一行数据
- Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的实现办法
- 简单实现设置Gridview默认选中状态
- Random();
- JBOSS AS5.1 默认tag的实例是单例, 修改配置可以改成非单例
- cocos2d-x学习(二):动作Action(延时类动作)
- HDU 1104 BFS 队列
- shell 入门
- Gridpanel中设置默认选中行的功能实现
- XML解析之SAX解析
- Cocos2d-x学习(五):cocos2d-x解析json(使用libjson库)
- 12个有趣的C语言面试题
- Cocos2d-x学习(六):cocos2d-x中的模态对话框简单实现
- 九种常用排序的性能分析总结
- Cocos2d-x学习(七):cocos2d-x中ScrollView的简单实现
- 计算程序跑了多长时间
- Cocos2d-x学习(八):cocos2d-x 2.0 中CCListView的用法