【发布时间】:2015-04-17 01:21:00
【问题描述】:
我正在使用Angular UI Grid 来显示一些数据。启用并初始化排序以及选择单行:
vm.gridOptions = {
enableSorting: true,
enableRowSelection: true,
multiSelect: false,
noUnselect: true,
columnDefs: [
{ name: '#', field: 'ID' },
{ name: 'Name', field: 'CODE', sort: { direction: 'asc', priority: 1 } },
{ name: 'Comment', field: 'DESCR' },
],
data: []
};
我可以选择一行,并且这些行按照配置按“名称”列按升序排序。
如UI Grid Tutorial 210 所示,我添加了在我的数据加载并添加到网格后自动选择第一项的逻辑:
datacontext.getAllGcTab(vm.filter).then(function (result) {
vm.gridOptions.data = result.results;
vm.gridApi.selection.selectRow(vm.gridOptions.data[0]);
});
但此代码选择的是未排序数据的第一项。我的网格中大约有 500 个项目,数量不多且性能良好,但在这种情况下,所选项目位于线路下方且不可见。
是否有任何选项可以直接访问 UI Grid 的行或排序数据?
我知道外部排序可以解决这个问题,因为这样我会将已经排序的数据分配给网格。但这在我看来是不必要的开销......
【问题讨论】:
-
正在解决这个问题 - 一旦发布,我会发布答案。
-
有什么答案吗?
标签: javascript angularjs sorting angular-ui-grid