首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Extjs分组网格校验列更改实际的rowIndex

问Extjs分组网格校验列更改实际的rowIndex
EN

Stack Overflow用户
提问于 2014-10-16 16:35:04
回答 2查看 1.9K关注 0票数 1

我正在使用分组网格,其中包含一个校验列。我需要控制复选框的选择,即允许或不允许选择。我使用了前校验更改函数来完成这个任务。为了解释这个问题,请考虑这个场景。有五个组,每个组包含3行,其中只有最后一个组是展开的。如果选择最后一行检查列,则返回的rowIndex为2,因为只有3行是可见的。返回虚拟或可见行索引的如何知道/获取实际行索引,而不需要展开所有组。

我的商业要求要求我知道准确的行索引才能从商店获得记录。复选列由存储区的数据/记录映射,允许我决定允许复选框上的复选框。另外,从较低的组选中一个,然后从更高的水平复选框也需要检查。

我使用的是ExtJS 5.x.x框架。

我已经检查了树状网格中存在的同样问题。

提前感谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-21 04:48:41

我相信这会解决你的问题:

代码语言:javascript
复制
// You checkcolumn listeners
listeners: {
    beforecheckchange : function(component, rowIndex, checked, eOpts) {
        var row = component.getView().getRow(rowIndex),
            record = component.getView().getRecord(row),
            realIndex = component.getView().ownerCt.getStore().indexOf(record);
        console.log(rowIndex, realIndex);
    }
}

演示Fiddle:https://fiddle.sencha.com/#fiddle/c3e

票数 3
EN

Stack Overflow用户

发布于 2014-10-17 06:37:53

您使用的是什么版本的ExtJS?

在ExtJS 4.2.1中至少有两个已知的分组错误,分别在4.2.2 (EXTJS-10027)和4.2.3 (EXTJS-10043)中修复。

在您的Ext版本中修复这些bug(或者仅仅通过升级)要比为每个网格编写解决方案要容易。

如果这不能解决您的问题,而且您正在使用Ext4,请考虑滥用底层模型上的“转换”函数。我担心这在ExtJS5中不再起作用,但就目前而言,这是一个很好的临时解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26409511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档