Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问角度UI网格中已排序的行?_Javascript_Angularjs_Sorting_Angular Ui Grid - Fatal编程技术网

Javascript 如何访问角度UI网格中已排序的行?

Javascript 如何访问角度UI网格中已排序的行?,javascript,angularjs,sorting,angular-ui-grid,Javascript,Angularjs,Sorting,Angular Ui Grid,我正在使用来显示一些数据。已启用并初始化排序以及选择单行: vm.gridOptions={ enableSorting:true, enableRowSelection:true, 多选:错, 名词选择:对, columnDefs:[ {name:'#',字段:'ID'}, {name:'name',field:'CODE',sort:{direction:'asc',priority:1}, {name:'Comment',字段:'DESCR'}, ], 数据:[] }; 我可以选择一行,

我正在使用来显示一些数据。已启用并初始化排序以及选择单行:

vm.gridOptions={
enableSorting:true,
enableRowSelection:true,
多选:错,
名词选择:对,
columnDefs:[
{name:'#',字段:'ID'},
{name:'name',field:'CODE',sort:{direction:'asc',priority:1},
{name:'Comment',字段:'DESCR'},
],
数据:[]
};
我可以选择一行,这些行按“名称”列按配置的升序排序

如中所示,我添加了逻辑,以便在数据加载并添加到网格后自动选择第一项:

datacontext.getAllGcTab(vm.filter).then(function (result) {
    vm.gridOptions.data = result.results;
    vm.gridApi.selection.selectRow(vm.gridOptions.data[0]);
});
但此代码正在选择未排序数据的第一项。我的网格中大约有500个项目,数量不多,性能也很好,但在本例中,所选项目位于行的某个位置,不可见

是否有任何选项可以直接访问UI网格的行或排序数据


我知道外部排序可以解决这个问题,因为这样我就可以将已经排序的数据分配给网格。但在我看来,这似乎是一种不必要的开销…

$scope.gridApi.core.getVisibleRows()返回当前排序/筛选顺序中的行数组。

有一个解决方案-一旦发布了,我将发布一个答案。答案上有什么词吗?如果它只返回实际可见的行,那就没有任何好处了。不太可能同时看到所有500行。它返回整个数据集,我刚刚检查过:
$scope.gridOptions.data.length
返回与
$scope.gridApi.core.getVisibleRows()相同的值。length
。注意:如果应用了cellTemplates(例如12345->12345),则返回的数据为applied@Jesper这是对的。使用分页时,getVisibleRows()仅返回当前页面的行