11

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 グリッドの並べ替えられたデータに直接アクセスするオプションはありますか?

外部並べ替えがその問題を解決できることはわかっています。なぜなら、既に並べ替えられたデータをグリッドに割り当てるからです。しかし、これは不必要なオーバーヘッドのように思えます...

4

1 に答える 1