Extjs 4 grid中的checkbox的加载时预选中【默认选中】
来源:互联网 发布:绘制logoo软件 编辑:程序博客网 时间:2024/05/16 01:20
场景重现:我需要对用户的角色修改分配相应的权限,在我加载显示所有可以选择的权限的时候,我应该保证告诉用户我哪些已经是选中的了,哪些是还未选择的,这样我就有必要对grid中前面的checkbox展示出选中的效果。如图:
Checkbox出现的方法:
var sm = Ext.create('Ext.selection.CheckboxModel', {
showHeaderCheckbox: false
});
在xtype:'grid'下添加:
selModel: sm,
multiSelect: true,
去直接实现默认选中的功能是没有直接的方法的,我们可以通过撇对grid中的stroe的id和获取到的用户当前拥有的store中的id获取到他们说对应于页面的行号。
/**角色权限分配**/assinRole: function() {if (role_ListId == null || role_ListId == "") {CommFun.messBox("请选择相应角色后再操作!", justsyLang.prompt);return;};var url = "/justsy/role/search/" + role_ListId; //"data/roleID.json";var view = Ext.widget("Role_Assign");view.down('form').loadRecord(role_ListObj); //向view的form中添加record//获取权限的store中的各个idvar viewStoreId = Ext.getCmp('assignList').store.data.items;var viewStoreIdList = new Array();//获取viewStoreId中的idfor (item in viewStoreId) {viewStoreIdList.push(viewStoreId[item].data.id);}//根据id获取role详细信息Ext.Ajax.request({url: url,method: 'GET',success: function(response) {response = Ext.JSON.decode(response.responseText);if (response.success) {var roleInfoStoreObj = new Object(); //用来存放id查询详细信息的数据var roleInfoStoreIdList = new Array();var selMod = Ext.getCmp('assignList').getSelectionModel();roleInfoStoreObj = response.content[0].permissList;console.log(roleInfoStoreObj);//获取roleInfoStoreId中的idfor (items in roleInfoStoreObj) {roleInfoStoreIdList.push(roleInfoStoreObj[items].id);}//循环判断添加选择项for (var i = 0; i < viewStoreIdList.length; i++) {for (var j = 0; j < roleInfoStoreIdList.length; j++) {if (viewStoreIdList[i] == roleInfoStoreIdList[j]) {selMod.select(i, true, false);};};};}}});view.show();},
补充说明,我们除了可以通过getSelectionModel下的select通过index选中grid中的row以外,我们也可以通过getSelectionModel下的selectRange进行添加(这个方法是一个添加范围,当添加的开始点和结束点为同一个index时候,表示只添加当前index)
Ext.getCmp(id).getSelectionModel().selectRange(startIndex,endIndex,boolen);//boolen表示选中时,之前选中的内容是否清除
对于去除指定grid的row选中我们也可以通过getSelectionModel下的deselectRange进行去除(这里的deselectRange和之前的selectRange方法的使用是一致的,都是指一个范围内)
本文出自 “插上javaScript的翅膀” 博客,请务必保留此出处http://shimengwen.blog.51cto.com/2448562/1361440
0 0
- Extjs 4 grid中的checkbox的加载时预选中【默认选中】
- Extjs Grid中默认选中
- extjs Grid 时,默认初始选中
- extjs Grid 时,默认初始选中
- extjs grid的Ext.grid.CheckboxSelectionModel默认选中解决方法
- Extjs grid中的checkbox的选中获取数据是否为最新的问题
- Extjs中的ComboBox在加载时默认选中值的问题的解决办法。
- ExtJS 让grid里某行的checkbox不能选中
- extjs Grid 时,默认初始选中,解决默认选不中的问题
- ie中ExtJs的Grid不能默认选中第一行的解决方法
- Extjs grid checkbox 根据数据初始化选中
- extjs grid默认选中第一行
- extjs中grid中checkbox的用法,ext中grid获取checkbox的值
- extjs中grid中checkbox的用法,ext中grid获取checkbox的值
- extjs中grid中checkbox的用法,ext中grid获取checkbox的值
- extjs中grid中checkbox的用法,ext中grid获取checkbox的值
- extjs中grid中checkbox的用法,ext中grid获取checkbox的值
- ExtJs中grid分页加载的问题
- Java基础名词解释
- WebSockets 简介:将套接字引入网络
- HTML5 Web Sockets
- windows下安装MongoDB
- Extjs grid中的checkbox的选中获取数据是否为最新的问题
- Extjs 4 grid中的checkbox的加载时预选中【默认选中】
- linux/ubuntu里面卸载软件的方法
- 让专注的思维成为习惯
- Chrome notifications -- Chrome 浏览器消息通知中心
- HTML 全屏背景的方法
- OpenCV学习笔记——存取像素值操作汇总core
- OpenUI5 (SAPUI5) js框架简单介绍
- Ubuntu只显示桌面
- 理解href=#与href=javascript:void(0)的区别