是否可以为 ag-grid 中的树数据组提供组件作为单元格渲染器?
Posted
技术标签:
【中文标题】是否可以为 ag-grid 中的树数据组提供组件作为单元格渲染器?【英文标题】:Is it possible to provide Component as Cell Renderer for tree data group in ag-grid? 【发布时间】:2019-03-27 13:42:24 【问题描述】:文档仅给出了简单单元格渲染器的示例。 (https://www.ag-grid.com/javascript-grid-tree-data/) 但是如果我需要对树数据组进行更复杂的单元格渲染,我可以使用角度组件来代替简单的函数吗?
【问题讨论】:
【参考方案1】:是的。您需要首先注册组件。请参阅他们的文档。其实很容易。里面的专栏Def你随便做cellRenderer: 'yourComponent',
https://www.ag-grid.com/javascript-grid-components/#registering-framework-components
【讨论】:
感谢您的回答!是的,对于一个普通的列,我们可以设置 cellRendererFramework 并且效果很好。但是,如果我们使用树数据,我们没有层次列的 columnDef,它的配置转到 GridOptions.autoGroupColumnDef。问题是:我们能否提供比 simpleFunction 更高级的渲染器。我希望我的渲染器是一个功能齐全的 Angular 组件。 您好,使用 cellRendererFramework 我正在使用功能齐全的 Angular 组件,它对我来说很好用。对于简单的情况,我会使用一个函数,但有时我会使用一个组件。另请参阅他们的文档:ag-grid.com/javascript-grid-cell-rendering 是的,我了解如何为普通列提供 cellRendererFramework。但是,在我的情况下,它是负责展开/折叠树的树数据层次结构列。我试图在那里提供 cellRendererFramework,但它对我没有用。我对 ag-grid 中的 TreeData 文档感到困惑【参考方案2】:如果有人仍然需要答案:
您需要在 autoGroupCloumnDef 的 cellRendererParams 中提供 innerRenderer 属性,而不是使用 cellRenderer 属性在常规列中提供渲染器组件。
像这样: example from ag-grid documentation
【讨论】:
【参考方案3】:我已经对自定义组组件渲染有同样的问题。
当像任何列定义一样使用cellRendererFramework
属性时,将不起作用,在案例组列中,您需要将innerRendererFramework
属性用于cellRendererParams
对象属性。
示例来自answer for another question:
headerName: 'Group',
cellRenderer: 'group',
cellRendererParams:
innerRendererFramework: MyCustomCellRendererComponent
注意:这适用于 Ag-grid columnDefs
或 defaultColGroupDef
或 autoGroupColumnDef
输入下的列定义(适用于我使用 autoGroupColumnDef
)
参考:
https://***.com/a/48390888/1908296 https://www.ag-grid.com/angular-data-grid/group-cell-renderer/ https://www.ag-grid.com/angular-data-grid/grouping-single-group-column/【讨论】:
以上是关于是否可以为 ag-grid 中的树数据组提供组件作为单元格渲染器?的主要内容,如果未能解决你的问题,请参考以下文章
ag-grid 将 cellRendererParams 设置为行数据中的值