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

标签 angularjs

我正在使用 Angular 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>'

关于angularjs - 如何在 Angular ui-grid 3.0 中获取行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637188/

相关文章:

angularjs - 获取 Angularjs 的当前幻灯片数据

angularjs - 如何让angularJS Controller 始终处于事件状态?

javascript - 带有 angularjs 的有效输入掩码(ui-mask)

javascript - AngularJS 不显示西里尔字母

angularjs - Heroku 中来自外部文件的 Angular 路由

javascript - AngularJS 分页错误 : can not capture current page index

AngularJS 图像 slider

javascript - 如何在angularJs中显示选中的单选按钮值

具有失败键的 Javascript 对象

javascript - AngularJs - 在 UI-Bootstrap 的选项卡上添加自定义类