簡體   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