在列上设置排序方向单击以查看ASP.NET Telerik MVC网格列

时间:2012-10-23 10:43:57

标签: sorting telerik grid telerik-mvc

目前在Asp.net中使用Telerik MVC 3.0。我有几列的网格。 当页面加载时,行被绑定。当我点击列时,它应该在第一个Click而不是Ascending order中的Descending sorder中排序。

2 个答案:

答案 0 :(得分:1)

您可以通过覆盖grid的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 =&gt; events.OnLoad(“grid_onLoad”))

答案 1 :(得分:0)

Grid不支持此类排序配置。它总是排序ASC然后DESC。