Я использую 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: []
};
Я могу выбрать строку, и строки сортируются по столбцу "Имя" в порядке возрастания, как указано.
Как показано в Руководстве пользователя Grid Tutorial 210, я добавил логику для автоматического выбора первого элемента после того, как мои данные были загружены и добавлены в сетку:
datacontext.getAllGcTab(vm.filter).then(function (result) {
vm.gridOptions.data = result.results;
vm.gridApi.selection.selectRow(vm.gridOptions.data[0]);
});
Но этот код выбирает первый элемент несортированных данных. В моей сетке около 500 элементов, что мало и хорошо работает, но в этом случае выбранный элемент находится где-то по линии и невидимо.
Есть ли возможность прямого доступа к строкам или отсортированным данным сетки пользовательского интерфейса?
Я знаю, что внешняя сортировка может решить эту проблему, потому что тогда я бы назначил уже отсортированные данные в сетку. Но это кажется мне ненужным накладными расходами...