3

Angular グリッド ng-grid で gridOptions.sortInfo をプログラムで更新しようとしていますが、うまくいきません。

「名前」と「年齢」の両方の列があります。最初に「名前」列でソートを設定していますが、新しいデータをロードしてから「年齢」でソートするように更新したいと考えています。(列ヘッダーをクリックするだけでなく、プログラムによって)。

$scope.gridOptions.sortInfo を新しい値に設定できますが、グリッドにはこれが反映されません。gridOptions.sortInfo を更新する正しい方法は何ですか?

プランカーを参照してください:

http://plnkr.co/edit/JBYnrwLAIwFSKS6uSAND?p=preview

編集:ソート方向、つまり昇順/降順、およびソートする実際の列を更新できるようにしたいことに注意してください。

どうもありがとう

4

3 に答える 3

11

はい、ソース コード (行番号 128 here link ) によると、次のように実行できるはずです。

$scope.updateSortInfo = function() {
  $scope.gridOptions.sortBy('name');
}

プランカーは、それが機能することを示しています。ここでフォークしました

これは、テキスト ボックスから渡された sortColumn を使用した別のバージョンです: plunker

于 2013-07-15T16:10:04.313 に答える
5

同じ列で 2 回呼び出すと$scope.gridOptions.sortBy()、降順で並べ替えられます。

于 2014-07-25T04:43:56.660 に答える
2

これを見てください: http://ui-grid.info/docs/#/api/ui.grid.class:GridOptions.columnDef

このテキストを検索:

sort ソート情報のオブジェクト。属性は次のとおりです。

最初の id 列で降順で並べ替える必要がありましたが、それでうまくいきました。

var columnsDef = [
            {name:'id',width:50,sort: {
                direction: 'desc',
                priority: 0
            }},
            {name:'title',width:350},
            {name:'address'},
            {name:'date',width:150},
            {name:'description',minWidth:450}
        ];
$scope.theGrid.columnDefs = columnsDef;
于 2015-08-11T22:26:27.257 に答える