我们如何在ext js 4.2中隐藏和显示网格面板的行?

时间:2014-06-11 18:46:19

标签: extjs gridpanel

你好,               我有行的网格面板,并且有一个列名称ID,其重复对应于其他值,例如: -

ID    Type    Status
--------------------------
1      A      True
1      B      True
1      C      False
1      D      False
1      E      False
2      A      True
2      B      False
2      C      False
2      D      False

我需要下面的一个:所以当我点击[显示所有记录..]时,将显示1条记录的ID。与Id 2等相同......

ID    Type    Status
--------------------------
1      A      True
1      B      True
Show all record..
2      A      True
2      B      False
Show all record..

点击Show all record ....

后输出
   ID    Type    Status
  ----------------------------
    1      A      True
    1      B      True
    1      C      False
    1      D      False
    1      E      False
    2      A      True
    2      B      False
    Show all record..

希望你能理解我必须达到的目标。

谢谢&问候 VIK

3 个答案:

答案 0 :(得分:0)

您可以将id列用作组,在分组网格中,您可以选择展开或折叠共享相同值的记录,但如果该组折叠,它将不会显示第一个记录

请参阅此示例:http://docs.sencha.com/extjs/4.2.1/#!/example/build/KitchenSink/ext-theme-neptune/#grouped-grid

答案 1 :(得分:0)

没有这样的视图或插件可以完全满足您的需求(在Ext 4.x和Ext 5.x中都没有),因此需要大量的编码来实现它。

根据Elias的建议,没有自定义编码的最接近的是分组网格,或者可能不是那么近,the tree grid

答案 2 :(得分:0)

实现它的一种简单方法可能是使用单个网格,对于每个ID,它可能会妨碍性能。 所以,这个想法是:

1)为每个ID创建一个单独的网格,并使用单独的商店

2)限制一次可见的行数(在商店中使用getRange())

3)添加一个对应于每个网格的按钮,并执行单击显示所有行的操作,刷新网格,隐藏按钮(或更改文本以折叠,并处理点击事件)

注意:它会很慢

您可以想出更好的方法来实现这一目标,这种方法肯定不需要太多编码