【问题标题】:How to get only displayed row data in Ag-Grid如何在 Ag-Grid 中仅获取显示的行数据
【发布时间】:2020-02-24 16:58:50
【问题描述】:

我正在使用 AG Grid getSelectedRows() 来获取选定的行数据。 问题是当我使用列工具面板取消选中某些列以隐藏它时,getSelectedRows() 它将检索所有行 vlaues,我的意思是隐藏行和可见行值。 我的问题,有没有办法只获取可见行数据?

如下图所示,我只需要获取国家、年份和日期行值,而不是获取所有列

     const selectedRows: any = this.gridOptions.api.getSelectedRows();

https://plnkr.co/edit/0wPm6bVrdPwBjIOSqG2L?p=preview

【问题讨论】:

  • 您能澄清一下您在输出中需要什么吗?您是否只想将结果限制在国家、年份和日期?我会发布答案,但我很乐意与您合作并根据需要进行修改
  • @shadowfox476 非常感谢您的帮助。实际上,如果我们有静态列数,您的以下代码将正常工作。但问题是列是动态生成的,所以我不知道是否有可能返回当前显示的列的所有行值我发现了一些东西,但我不知道这样做是否是最佳实践。我们使用 getAllDisplayedColumns() 来获取数组中所有显示的列名,然后通过 getSelectedRows() 对其进行过滤。你认为这是一个很好的解决方案吗?谢谢
  • 如果有那个电话,那么我认为可以使用它。作为性能提示,看看您是否只能运行该方法一次,而不是每一行。所有行都将具有相同的列

标签: javascript angular ag-grid ag-grid-angular ag-grid-valuesetter


【解决方案1】:

看起来你可以使用 getRenderedNodes() 然后使用映射器

this.gridApi.getRenderedNodes().map((row) => {
    return {
        country: row.data.country,
        year: row.data.year,
        date: row.data.date
    };
});

【讨论】:

    猜你喜欢
    • 2020-05-31
    • 2019-08-27
    • 2016-08-02
    • 2020-03-06
    • 2017-09-16
    • 1970-01-01
    • 2020-05-29
    • 2018-12-27
    • 2020-09-23
    相关资源
    最近更新 更多