繁体   English   中英

Extjs Grouped Grid checkcolumn更改实际的rowIndex

[英]Extjs Grouped Grid checkcolumn change actual rowIndex

我正在使用包含checkcolumn的 组网 我需要控制复选框的选择,即允许或不允许选择。 我使用beforecheckchange函数来做到这一点。 要解释该问题,请考虑该方案。 有五个组,每组包含3行,其中只有最后一个组才被展开。 如果我选择最后一行检查列,则返回的rowIndex将为2,因为只有3行可见。 这是虚拟或可见的rowindex返回如何知道/获取实际的行索引,而不是所有组都被扩展。

我的Bushiness要求要求我知道从商店获取记录的确切行索引。 检查列与商店中的数据/记录映射,允许我决定是否允许检查复选框。 还要检查下层组中的一个,然后再检查更高级别的同级复选框。

我正在使用ExtJS 5.xx框架。

我检查了树网格存在同样的问题。

提前感谢你。

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

// 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);
    }
}

演示小提琴: https//fiddle.sencha.com/#fiddle/c3e

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

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

在您的Ext版本中(或通过简单升级)修复这些错误比为每个网格编写解决方法更容易。

如果这不能解决您的问题,并且您使用的是Ext4,请考虑滥用基础模型上的“转换”功能。 我担心,这在ExtJS5中不再起作用,但暂时它是一个很好的临时解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM