AgGrid希望将节点传递给它的许多数据函数.你如何通过索引获得节点?看下面的剪辑:
api.forEachNode(function(node){ api.refreshRows([node]); })
我可以将node
参数传递给refreshRows()
函数,因为我正在通过它forEachNode()
.
如何通过索引获取节点而不进行迭代forEachNode()
?
您可以使用getVirtualRow()
方法获取单行.此函数是行模型的一部分.您可以按getModel()
功能获取行模型.
var model = api.getModel(); console.log(model.getVirtualRow(idx));
对于这个问题来说可能有点晚了,但是对于以后正在寻找这个问题的人而言:
除了给出答案外,您还可以通过以下方式获得行节点,
// Getting the row node by the row index cont rowNode1 = api.getDisplayedRowAtIndex(rowIndex);
在某些情况下,上述方法不合适,因为在对网格进行某些更改(排序,过滤器等)时,rowIndex可能会更改。
另一种方法是使用该行的id,即使您对网格进行排序,过滤也不会改变。
getRowNode(id):返回具有给定ID的行节点。行节点ID是您通过回调getRowNodeId(data)提供的ID,否则,ID是设置行数据时由网格自动生成的数字。
// Getting rowNode by row id const rowNode2 = api.getRowNode(rowId);