如果已经使用值getter定义了ag-grid列定义,或者已为单元格定义了表达式,则该值会在网格上很好地显示。但是,如果单元格正在使用单元格表达式/值获取器,则无法找到访问给定单元格中值的方法。试图通过访问数据api.forEachLeafNode,但是似乎内存模型中也没有此数据。我发现的唯一方法是将数据导出为CSV,然后使用解析getDataAsCsv(params)。
导出数据是访问带有值获取器的网格中的列值的唯一方法吗?
为什么“内存中”模型没有此数据可访问?
valueGetter在渲染阶段使用,仅在需要渲染单元时才进行计算。如果从未渲染单元格(例如,行位于当前可见内容之下),则永远不会执行valueGetter。结果永远不会存储在模型中,只会传递给cellRenderer。
因此,要获取valueGetter的结果,您需要做的是使用api.getValue(colKey,rowNode)
colKey是您的列的ID。这可以是列本身(如果从网格列api获得列)或列ID。列ID是您可能想要使用的。列ID按照以下顺序分配给该列:1)如果存在colDef.colId 2)如果存在colDef.field 3)如果colId和field都丢失,则生成该列。因此,如果您使用的是valueGetter,则可能未提供字段,因此只需提供colId。
rowNode是有问题的行。这是使用api.forEachLeafNode时得到的。
api.getValue()方法是最新的,我知道它在版本7中-因此,如果缺少,请确保您的v7或更高版本。
| 归档时间: |
|
| 查看次数: |
3152 次 |
| 最近记录: |