【发布时间】:2021-10-28 04:45:42
【问题描述】:
我有一个默认按列排序的网格,我在通过添加或减去当前选定的行 ID 来获取下一行/上一行时遇到问题。
这是默认排序的列
{
headerName: "Created",
field: "createdOn",
cellRenderer: (params) => {
return WebModule.Utils.dateFormat(params.value);
},
sort: "desc",
width: 125
},
这是我获取上一行/下一行的逻辑
class ResultModal {
constructor(params) {
this.params = params
let rowIndex = params.rowIndex;
this.previousRow = params.api.getRowNode(rowIndex - 1);
this.nextRow = params.api.getRowNode(rowIndex + 1);
this.result = params.data;
}
}
我将整个 ag-grid 参数对象传递给一个模态,以便我可以从模态中的按钮导航网格记录。
问题是,如果我在选择第二行的情况下运行上述逻辑,params.rowIndex 为 1,我会得到带有 (1+1) 的 nextRow,但实际的 rowIndex 的 nextRow 将类似于2245(我在网格中有很多数据)。
所以我最终选择了隐藏在网格深处的一行,而不是实际显示的第三行。
在对网格进行排序/过滤时,我是否需要使用 getRowNode 以外的其他内容?
【问题讨论】:
-
我希望 ag-grid 可以让您在过滤数据时区分可见行和不可见行(让您跳过隐藏行)——但如果没有,您可以使用 Map 或Array 手动跟踪可见行的 id,然后查看 Array 中的下一项以获取下一个可见行的 id?
标签: javascript ag-grid