我正在使用角度ui-grid 3.0版,无法找到获取行的索引,向网格添加分子列的方法。我想帮我。
无法轻松获取行的索引,因此这取决于您要执行的操作。当有人对数据进行排序时,您期望编号会做什么- 您希望数字保持原始数据中的数字,还是希望它们更改并对齐新的排序顺序?
在常见问题解答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>'