0

最近、Angular ui-grid を使い始めました。私はライブラリの内部構造にあまり精通していません。

ui-gridパーセンテージを表示する必要がある列がありました。SO 私は次のフィルターを my に追加し、それをプロパティappと共に使用しました。ui-grid cellFilter

module.filter('percentage', function () {
    return function (input) {
        if (!input) {
            return '';
        } else {
            return input + '%';
        }
    };
})

これはうまくいきましたが、この列を並べ替えている間です。並べ替えは予期せず機能します。values を持つ3つの行があるとします100,200,300。ソートされた状態100,200,300300,200,100. しかし、この列のヘッダーをクリックし続けると、第 3 の状態 as200, 300, 100または asが表示され100, 300,200ます。この状態のパターンが何であるかさえわかりません。

私が正しければ、角度フィルターは でのみ機能しviews、フィールドのモデルには影響しません。filterしたがって、追加がソートに影響を与えるとは思いません。

それとは別に、予想される 2 つの並べ替え (ASCENDING、DESCENDING) は完全に表示されますが、唯一の問題は 3 番目の表示です。この問題を解決するにはどうすればよいですか。

実装がありませんか?? これを解決するのを手伝ってください。

編集:この問題は文字列列でも発生します。私の理解では、並べ替えが考慮される限り、1 つの ASCENDING 状態と 1 つの DESCENDING 状態しか存在できません。しかし、私はより多くの手配をします。

4

1 に答える 1

1

を使用sortDirectionCycleして、並べ替えの 3 番目の状態を削除できます。

columnDefs: [
   { field: 'name', sortDirectionCycle: [uiGridConstants.ASC, uiGridConstants.DESC] },
   { field: 'gender', sortDirectionCycle: [uiGridConstants.ASC, uiGridConstants.DESC] },
   { field: 'company', enableSorting: false }
]

ドキュメントから、列の見出しをクリックすると、ソート方向が昇順、降順、ソートされていない順に循環します。sortDirectionCycle columnDef オプションを設定することで、このサイクルを再配置したり、その一部をスキップしたりできます。詳細については、このリンクを確認してください

于 2016-10-05T09:41:53.920 に答える