Ag grid 如何在AgGrid中获取组计数

Ag grid 如何在AgGrid中获取组计数,ag-grid,Ag Grid,我已经为Aggrid中的一列设置了rowgroup:true 我想显示它创建的组数并显示在页脚中。 我该怎么做 不幸的是,ag grid API没有提供任何方法来计算组中的行组数。然而,通过使用普通JavaScript和JavaScript的。首先,我们从网格本身获取行节点数据,然后构造一个包含该特定属性的集合(在本例中,我们假设行组属性为“country”)。由于我们只能将唯一值添加到集合中,因此可以确保集合的大小是行组计数 countCountries() { const rowData

我已经为
Aggrid
中的一列设置了
rowgroup:true

我想显示它创建的组数并显示在页脚中。
我该怎么做

不幸的是,ag grid API没有提供任何方法来计算组中的行组数。然而,通过使用普通JavaScript和JavaScript的。首先,我们从网格本身获取行节点数据,然后构造一个包含该特定属性的集合(在本例中,我们假设行组属性为“country”)。由于我们只能将唯一值添加到集合中,因此可以确保集合的大小是行组计数

countCountries() {
  const rowData = [];
  const countrySet = new Set();
  this.gridApi.forEachNode(node => rowData.push(node.data));
  rowData.map(obj => {
    if (obj) {
      countrySet.add(obj.country);
    }
  });
  console.log(countrySet.size);
  return countrySet.size;
}
然后,我们可以通过实现简单地将计数添加到页脚。您必须指定
pinnedBottomRowData
的输入属性绑定,以及
firstDataRendered
的事件绑定,以便仅在呈现数据后计算国家/地区计数

 <ag-grid-angular
  #agGrid
  style="width: 100%; height: 420px;"
  id="myGrid"
  class="ag-theme-balham"
  [columnDefs]="columnDefs"
  [defaultColDef]="defaultColDef"
  [animateRows]="true"
  [enableRangeSelection]="true"
  [rowData]="rowData"
  [pinnedBottomRowData]="pinnedBottomRowData"
  (firstDataRendered)="onFirstDataRendered($event)"
  (gridReady)="onGridReady($event)"
 ></ag-grid-angular>

我已经创建了一个供您参考的。这将使您朝着正确的方向前进。

不幸的是,ag grid API没有提供任何方法来允许您计算组中的行组数。然而,通过使用普通JavaScript和JavaScript的。首先,我们从网格本身获取行节点数据,然后构造一个包含该特定属性的集合(在本例中,我们假设行组属性为“country”)。由于我们只能将唯一值添加到集合中,因此可以确保集合的大小是行组计数

countCountries() {
  const rowData = [];
  const countrySet = new Set();
  this.gridApi.forEachNode(node => rowData.push(node.data));
  rowData.map(obj => {
    if (obj) {
      countrySet.add(obj.country);
    }
  });
  console.log(countrySet.size);
  return countrySet.size;
}
然后,我们可以通过实现简单地将计数添加到页脚。您必须指定
pinnedBottomRowData
的输入属性绑定,以及
firstDataRendered
的事件绑定,以便仅在呈现数据后计算国家/地区计数

 <ag-grid-angular
  #agGrid
  style="width: 100%; height: 420px;"
  id="myGrid"
  class="ag-theme-balham"
  [columnDefs]="columnDefs"
  [defaultColDef]="defaultColDef"
  [animateRows]="true"
  [enableRangeSelection]="true"
  [rowData]="rowData"
  [pinnedBottomRowData]="pinnedBottomRowData"
  (firstDataRendered)="onFirstDataRendered($event)"
  (gridReady)="onGridReady($event)"
 ></ag-grid-angular>

我已经创建了一个供您参考的。这将推动您朝着正确的方向前进。

谢谢您的回答,是否有javascript版本的代码而不是angular/@Sunilkumar噢,对不起,我假设您遵循的是angular之类的框架。像
countcountcountcountries
这样的方法是纯标准的JavaScript。它应该会起作用。我可以知道你指的是我的代码的哪一部分吗?好的。我使用json循环和使用set()的过滤器来获取组计数。。并使用jquery更新页脚…感谢您的回答,是否有javascript版本的代码而不是angular/@Sunilkumar噢,对不起,我假设您遵循angular之类的框架。像
countcountcountcountries
这样的方法是纯标准的JavaScript。它应该会起作用。我可以知道你指的是我的代码的哪一部分吗?好的。我使用json循环和使用set()的过滤器来获取组计数。。并使用jquery更新页脚。。。