Extjs4.2分组后折叠时行选择事件问题

来源:互联网 发布:windows 探测udp 端口 编辑:程序博客网 时间:2024/05/21 06:54

Extjs4.2版本,grid使用分组后,如果分组折叠,行选择事件会失败,看代码逻辑是计算选中行的index时失败了,返回-1,所以必须自己重新实现

解决思路

1.创建记录分组折叠的数组

//1.record the collapse of groupvar groupCollapses=new Array();

2.在grid中增加监听事件覆盖原有

'groupclick':function(view,node,group){ var ii=groupCollapses.indexOf(group);if(ii!==-1){//展开就删除groupCollapses.splice(ii,1);}else{//折叠添加记录groupCollapses.push(group);}},'beforeselect':function(obj, record, index, e){var newIndex=record.index;var groups=obj.getStore().getGroups();//最后一个分组忽略for(var i=0;i<groups.length-1;i++){var xx=groups[i];if(groupCollapses.indexOf(i+"")!==-1){newIndex+=(xx.children.length-1);}else{//如果选择的行比较小,说明选择的行是前面的分组,后面的分组折叠不会影响,直接结束if(record.index<xx.children.length){break;}}}record=obj.getStore().getAt(newIndex);var sm = this.getSelectionModel(); sm.select(record,false,true);return false;}


                                             
0 0
原创粉丝点击