一尘不染

如何在Angular ui-grid 3.0中获取行索引

angularjs

我正在使用角度ui-grid 3.0版,无法找到获取行的索引,向网格添加分子列的方法。我想帮我。


阅读 373

收藏
2020-07-04

共1个答案

一尘不染

无法轻松获取行的索引,因此这取决于您要执行的操作。当有人对数据进行排序时,您期望编号会做什么-
您希望数字保持原始数据中的数字,还是希望它们更改并对齐新的排序顺序?

在常见问题解答http://ui-grid.info/docs/#/tutorial/499_FAQ中,我们发现:

这里的问题是您真正要实现的目标。您是要实际的行索引,还是要在所有行中显示顺序ID?

如果是后者,则只需在数据中添加一个计数器列即可:

$scope.myData.forEach( function( row, index){
  row.sequence = index;
});

如果要在网格内部显示行的索引,则取决于您想要的内部。您可以在grid.rows中获取该行的索引,该行的索引将显示该行在原始行列表中的位置(未过滤或未排序),或者在grid.renderContainers.body.visibleRowCache中显示该行的索引(已过滤并排序),或当前显示的行中的行的渲染索引(给定的虚拟化,这通常是一个特别无用的数字)。

如果您确定只要有人进行排序或过滤,那么数字都会改变,那么您可以使用cellTemplate进行操作,如下所示:

cellTemplate: '<div class="ui-grid-cell-contents">{{grid.renderContainers.body.visibleRowCache.indexOf(row)}}</div>'
2020-07-04