Extjs 中重复记录的 RowExpander

RowExpander for duplicate records in Extjs

我在 Extjs 中有一个网格,我想在一个条件下添加 rowExpander,条件是:

如果存储中有多个相同ID的记录,那么网格中只会显示一条记录,但是会为记录添加一个rowExpander(加号图标),当我们点击加号图标时将显示ID的所有剩余记录。

我想要这样的网格:


| |编号 |姓名 | FIELD1 | FIELD2 | FIELD3 | FIELD4 | FIELD5 |


| + | 01 | ABCD|测试01 |测试02 |测试03 |测试04 |测试 05 |


| | 02 | ABCD|测试01 |测试02 |测试03 |测试04 |测试 05 |


| | 03 | ABCD|测试01 |测试02 |测试03 |测试04 |测试 05 |


| | 04 | ABCD|测试01 |测试02 |测试03 |测试04 |测试 05 |

| | 04 | ABCD|测试01 |测试02 |测试03 |测试04 |测试 05 |

| - | 04 | ABCD|测试01 |测试02 |测试03 |测试04 |测试 05 |

| | 04 | ABCD|测试01 |测试02 |测试03 |测试04 |测试 05 |

| | 04 | ABCD|测试01 |测试02 |测试03 |测试04 |测试 05 |


请提出解决方案。

谢谢:)

今年我对这个问题做了一些研究。

据我了解框架,grid 组件中不可能有嵌套网格。使用一些技巧,您只能在 rowExpander 插件中创建只读子网格。 (实际上,你可以在里面创建组件,但你不会从中捕获任何事件)

对于您的情况,您可以尝试使用 grouping 功能对您商店中的记录进行分组。

我还看到了另一个实现 — 在单击主网格行后显示 window 和子网格。

希望这些信息对您有所帮助。