我想创建带角度的编号表,
我试过
<tr ng-repeat="item in data">
<td>{{$index}}</td>
<td>{{item.name}}</td>
</tr>
它可以工作,但是当我使用命令对表进行排序时我希望保持索引 所以第一个“”总是必须是这样的 - 1,2,3,4 并通过更改2,1,4,3和类似的东西来订购
抱歉我的英文不好
我添加了jsfiddle示例
答案 0 :(得分:1)
$index
变量不是data
的一部分,只是数组索引。当您使用不同参数对数组进行排序时,data
数组值的顺序会发生变化,但数组索引与之前保持一致。要解决此问题,您可以将顺序value
作为data
数组的每个对象的属性。然后显示显示该属性,而不是显示数据数组的$index
。
例如在控制器中:
for(var i = 0; i < $scope.data.length; i++){
$scope.data[i].sl = i+1;
}
在视图中:
<tr ng-repeat="item in data">
<td>{{item.sl}}</td>
<td>{{item.name}}</td>
</tr>
答案 1 :(得分:0)
一种选择是将列标记为不排序,如下所示:
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notSortable()
];
示例数据表:
<table dt-column-defs="dtColumnDefs"> </table>
Here是一些文档。
但是,将某些表格数据标记为不能用Jquery排序是可能的,如@dSquared answer。
答案 2 :(得分:0)
我找到的最简单的解决方案,使用css
SELECT flow , COUNT(*) tot
FROM (
select
GROUP_CONCAT(ff.page, '#', ff.snippet_params,'$',ff.is_lead SEPARATOR '|') flow ,
FROM table_a ff
WHERE f.is_lead = 1
GROUP BY ff.user_id ) as new_flow
GROUP BY flow
ORDER BY tot DESC LIMIT 10