【问题标题】:Setting Sort Direction on Column Click for ASP.NET Telerik MVC Grid Column为 ASP.NET Telerik MVC 网格列设置列单击的排序方向
【发布时间】:2012-10-13 06:45:22
【问题描述】:

目前在 Asp.net 中使用 Telerik MVC 3.0。我有几列的网格。 当页面加载时,行被绑定。当我单击该列时,它应该在第一次单击时按降序排序,而不是按升序排序。

【问题讨论】:

    标签: sorting telerik grid telerik-mvc


    【解决方案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"))

    【讨论】:

      【解决方案2】:

      Grid 不支持这样的排序配置。它总是先按 ASC 排序,然后按 DESC 排序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-11
        • 1970-01-01
        • 2013-02-16
        相关资源
        最近更新 更多