如何在 ag-grid 中指定 RowNode.id

Jas*_*all 5 ag-grid ag-grid-ng2

我在这里发布这个是因为这浪费了我今天的时间。

我试图RowNode.id从我将 aggrid 的rowData属性设置为的对象中的数据进行设置。意思是,我想在我的数据模型上使用一个属性来提供idag-grid 行模型的内置字段。他们在文档中提到了这一点,但他们没有解释如何做到这一点。

小智 7

要让 ag-grid 使用应用程序分配的 ID,请实现网格回调 getRowNodeId()。回调应返回特定行数据的 ID。例如,以下代码片段返回所提供数据项的属性“id”的值:

function getRowNodeId(data) {
    return data.id;
}
Run Code Online (Sandbox Code Playgroud)

提供身份证件时必须遵守以下规则:

  1. ID 必须是唯一的
  2. ID 不得更改

如果您打算用作 ID 的属性不唯一或发生更改,则会导致网格中出现未指定的行为。换句话说,不要使用不唯一或可以更改的字段。

如果使用行分组,网格将始终为组级别分配 ID(因为不存在与应用程序提供的行数据的一对一映射)。回调 getRowNodeId() 仅用于非组级别的行。

这是文档的链接


Jas*_*all 6

这个问题的答案是,您需要getRowNodeId在网格的网格选项对象上设置属性,如下所示:

// where 'd' is an object in your model
this.gridOptions.getRowNodeId = d => {
   return d.id; // return the property you want set as the id.
}
Run Code Online (Sandbox Code Playgroud)