detailCellRendererParams的递归函数,Ag-Grid?

时间:2019-03-18 20:42:23

标签: javascript typescript recursion ag-grid ag-grid-angular

我有包含多行数据的数据。每行包含一个“子级”数组属性,该属性可以具有更多行形式的数据,也可以为空。最重要的是,'children'数组属性内的每一行也可能包含更多的'children'数据或行,依此类推,因此看起来像这样(将每一行视为一行,将每个缩进行视为一个子级)该行中的一行):

r|-------
 r1|------*
   r1a|------
   r1b|------*
      r1b1|------
   r1c|------*
      r1c1|------
      r1c2|------
 r2|------
 r3|------*
   r3a|------
   r3b|------

每个包含子行的父项(我用'*'标记)必须定义detailCellRendererParams,如果我只是手动定义每行(as shown in Ag-Grid documentation under Nesting Master / Detail,这很好,但是不确定有多少个父行) / children行。我正在寻找一个递归函数,该函数为每个带有孩子的父行定义detailCellRendererParams。我怎么写这样的东西?

1 个答案:

答案 0 :(得分:0)

无需递归,只需使用ag-grid的树数据功能:

https://www.ag-grid.com/javascript-grid-tree-data/

您需要通过以下方式启用树功能:

var gridOptions = {
    treeData: true,
    ...
}

并为网格提供创建树层次结构的字段

gridOptions.getDataPath: function(data) {
   return data.myHierarchyField;
},