2017-02-16 40 views
2

我基于以下结构的剑道格:剑道UI角度网格 - 关闭全部头

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 

我的数据当前是每行一个数据部件。每行数据都是它自己的数据。 有谁知道如何做到这一点?

+0

您可以为您的第一和第二级别组制作一个主网格,并在内部使用另一个网格的模板作为您的数据。您将能够使用+/-按钮展开/折叠子网格。见http://www.telerik.com/kendo-angular-ui/components/grid/configuration/#toc-the-detail-template –

+0

这不是我要求的。组内的所有数据都在一行上,并且可以有多行 – mast3rd3mon

+0

那么您准确地要什么?为了能够隐藏/显示每个组中的数据?你的数据行是否与你的子组行有相同的列? –

回答

0

有剑道电网没有简单的解决方案,为angular2这样做。

我能想到的方法2:

1)数据

的过滤阵列你可以有2个阵列的数据:一个参考/只读阵列与所有组,子组和数据,并且经滤波的阵列专用于显示,当您点击子组行中的按钮时,在每个子组中添加/删除数据。

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

2)CSS-仅

数据的单一阵列,然后应用类剑道电网的<tr>标签来显示/隐藏基于您的子组按钮事件数据线。 如果您有jQuery的你的项目,你可以用类似的东西相对容易地访问这些TR标签:

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

如果你没有的jQuery这是一个有点那么简单。

+0

我宁愿没有重复的数据,也不使用任何''标签 – mast3rd3mon

+0

重复数据是最符合'角度2'的方式。关于tr标签,我正在谈论那些由Kendo生成的。我相应地更新了我的答案。 –

+0

感谢您的帮助,但我使用的是angular2,而不是angular和jQuery – mast3rd3mon