【问题标题】:Kendo UI Angular Grid - Collapse all headersKendo UI Angular Grid - 折叠所有标题
【发布时间】:2017-02-17 19:00:12
【问题描述】:

我有一个基于以下结构的剑道网格:

    Master Group A
        Sub Group A
            -Data A-
            -Data B-
        Sub Group B
            -Data C-
            -Data D-
        Sub Group C
            -Data E-
            -Data F-
    Master Group B
        Sub Group A
            -Data G-
            -Data H-
        Sub Group B
            -Data I-
            -Data J-
        Sub Group C
            -Data K-
            -Data L-
    Master Group C
        Sub Group A
            -Data M-
            -Data N-
        Sub Group B
            -Data O-
            -Data P-
        Sub Group C
            -Data Q-
            -Data R-

我希望它在页面首次加载时如下所示:

    Master Group A
        Sub Group A
        Sub Group B
        Sub Group C
    Master Group B
        Sub Group A
        Sub Group B
        Sub Group C
    Master Group C
        Sub Group A
        Sub Group B
        Sub Group C

我的数据目前是每行一个数据部分。每行数据都是它自己的数据。 有谁知道怎么做?

【问题讨论】:

  • 您可以使用您的第一级和第二级组创建一个主网格,并使用一个包含另一个网格的模板来存储您的数据。您将能够使用 +/- 按钮展开/折叠子网格。见telerik.com/kendo-angular-ui/components/grid/configuration/…
  • 那不是我要求的。组内所有数据都在一行,可以多行
  • 那么你到底想要什么?为了能够隐藏/显示每个组中的数据?您的数据行是否与您的子组行具有相同的列?
  • 是的。每个数据行有 5 列,每列有数据,与列标题匹配

标签: angular kendo-ui-angular2


【解决方案1】:

在剑道网格中没有简单的解决方案可以让 angular2 做到这一点。

我可以想到两种方法:

1) 过滤后的数据数组

您可以有 2 个数据数组:一个包含所有组、子组和数据的参考/只读数组,以及一个专用于显示的过滤数组,当您单击子组中的按钮时,您可以在其中添加/删除每个子组中的数据行。

然后将网格数据绑定到过滤后的数组,并根据子组按钮上的事件修改过滤后的数组。

2) 纯 CSS

单个数据数组,然后将类应用于剑道网格的<tr> 标签,以根据子组按钮上的事件显示/隐藏数据行。 如果您的项目中有 jQuery,您可以使用类似的方法相对轻松地访问这些 tr 标签:

$('.some-class-i-add-to-all-my-data-lines').parents('.k-master-row')

如果你没有 jQuery,那就有点不那么简单了。

【讨论】:

  • 我宁愿没有重复的数据,也不使用任何<tr>标签
  • 重复数据是最“符合 angular2”的方式。关于 tr 标签,我说的是由 Kendo 生成的标签。我已经相应地更新了我的答案。
  • 感谢您的帮助,但我使用的是 angular2,而不是 angular 和 jQuery
  • 那么请尝试解决方案 1),或者摆脱 Kendo 网格并创建您自己的自定义网格组件,您可以根据需要进行自定义。没有简单的方法可以用 Kendo 来做你想做的事情。编辑:至少使用当前版本的 kendo-angular-grid
  • 我不确定是否有两组相同的数据。还是谢谢你的回复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 2018-07-29
  • 1970-01-01
  • 2017-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多