1

現在、Asp.net で Telerik MVC 3.0 を使用しています。列が少ないグリッドがあります。ページが読み込まれると、行がバインドされます。列をクリックすると、昇順ではなく最初のクリックで降順でソートされます。

4

2 に答える 2

1

これは、グリッドのtoggleOrderメソッドを上書きすることで実行できます。まず、新しいReverseToggleOrder関数を定義します。

function ReverseToggleOrder(l) {

    l = typeof l == "number" ? this.columns[l] : l;
    var n = "desc";
    if (l.order == "desc") {
        n = "asc";
    } else {
        if (l.order == "asc") {
            n = null;
        }
    }
    l.order = n;
    var m = $.inArray(l, this.sorted);
    if (this.sortMode == "single" && m < 0) {
        $.each(this.sorted, function () {
            this.order = null;
        });
        this.sorted = [];
    }
    if (m < 0 && n) {
        this.sorted.push(l);
    }
    if (!n) {
        this.sorted.splice(m, 1);
    }
}


function grid_onLoad(e) {

    var grid = $(this).data('tGrid');
    grid.toggleOrder = ReverseToggleOrder;
}

次に、グリッドのOnLoadイベントハンドラーで、デフォルトの動作を上書きする必要があります。

.ClientEvents(events => events.OnLoad( "grid_onLoad"))

于 2012-11-01T23:01:09.340 に答える
0

グリッドは、このような並べ替え構成をサポートしていません。常に ASC の次に DESC をソートします。

于 2012-10-27T16:26:50.463 に答える