Ag-Grid树结构,将autoGroupColumn更改为隐藏ID

时间:2018-11-06 19:23:44

标签: javascript angular ag-grid

我正在使用ag-grid表示树结构。在我的数据中,每一行都有一个ID和一个父ID,这就是树结构的建立方式。现在,当我显示Ag-grid时,它会显示该额外的列,即行的ID,当我深入树中时,它将显示子级的相关ID。有没有办法隐藏此列?下面是我正在使用的数据和gridOptions的结构:

endDate: null
path: [1, 3, 5]
id: 4
level: "a level"
parentId: 3
Name: "SomeName"
runCount: 1
runNum: 500
StatusCode: "INITIATED"
startDate: "2018-11-05 05:20"
userComment: null

关键元素是ID和相关的父ID。该路径定义了AG-Grid所需的到达该元素的路径。下面是我的网格选项。

this.gridOptions = {
  columnDefs: this.detailsColumnDefs,
  rowData: this.detailsRowData,
  treeData: true,
  animateRows: true,
  enableFilter: true,
  enableSorting: true,
  enableColResize: true,
  getDataPath: function(data) {
    return data.path;
  },
  getRowNodeId: function(data) {
    return data.id;
  },
  autoGroupColumnDef: {
    headerName: 'level',
    width: 250,
    hide: true,
    cellRendererParams: {
      suppressCount: true,
    }
  }
};

autoGroupColumn显示每行的ID,但是,我希望它显示级别。有没有一种方法可以将字段分配给此列组,我希望在那里的级别值代替id或完全删除id。

1 个答案:

答案 0 :(得分:0)

您可以为autoGroupColumnDef指定“字段”,并让该字段绑定到数据行模型中的属性(即级别),并确保将空值留给属性“级别”,即

autoGroupColumnDef: {
    headerName: 'level',
    field: 'level',
    ......
  }
export class RowModel {
    level: string = '';
    parentId: string;
    id: string;
    ....
}

PS:似乎“隐藏”对组列没有任何影响-也许值得为Ag-grid Dev买票。