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 グリッド チュートリアル 210に示されているように、データが読み込まれてグリッドに追加された後、最初の項目を自動的に選択するロジックを追加しました。
datacontext.getAllGcTab(vm.filter).then(function (result) {
vm.gridOptions.data = result.results;
vm.gridApi.selection.selectRow(vm.gridOptions.data[0]);
});
しかし、このコードはソートされていないデータの最初の項目を選択しています。私のグリッドには約 500 個のアイテムがありますが、これはそれほど多くはありませんが、パフォーマンスは良好ですが、この場合、選択されたアイテムはどこかにあり、見えません。
行または UI グリッドの並べ替えられたデータに直接アクセスするオプションはありますか?
外部並べ替えがその問題を解決できることはわかっています。なぜなら、既に並べ替えられたデータをグリッドに割り当てるからです。しかし、これは不必要なオーバーヘッドのように思えます...