javascript - 在 Javascript 中获取 Devexpress Gridview 排序依据和排序顺序

标签 javascript jquery gridview devexpress-mvc

我正在 MVC 中实现 Devexpress 网格控制。我陷入了一个困境,我需要 JavaScript 中的当前排序依据列和排序顺序(asc/desc)。我还尝试了 clientSide 事件 OnColumnSortingChanged(s , e) ,它仅在单击事件中提供列的名称,而不是来自 gridview javascript 对象。

最佳答案

经过研究得到答案...

必须将 CustomJsProperty 添加到部分 View 中的控件,如下所示

settings.CustomJSProperties = (s, e) =>
    {
        var Grid = s as MVCxGridView;
        var result = new System.Collections.Hashtable();
        foreach (var col in Grid.AllColumns)
        {
            var dataCol = col as GridViewDataColumn;
            if (dataCol != null)
            {
                if (dataCol.SortIndex == 0)
                {
                    e.Properties["cpColumnsProp"] = new Dictionary<string, object>()
                    {
                        { "sortcolumn", dataCol.FieldName },
                        { "sortorder", ((Convert.ToString(dataCol.SortOrder).Equals("Ascending")) ? "asc" : "desc")}
                    };
                }
            }
        }
    };

按如下方式处理 ColumnSortingChange 事件

function gvChartList_OnColumnSortingChanged(s, e) {
        $("#hdsortname").val(e.column.fieldName); // contains the sort column name
        $("#hdsortorder").val(((s.cpColumnsProp.sortcolumn == e.column.fieldName) ? "desc" : "asc")); // contains the sort column order
    }

最后但并非最不重要的一点是,必须定义列的默认排序索引和排序顺序

settings.Columns.Add(col =>
    {
    // column details
        col.SortIndex = 0;
        col.SortAscending();

   });

关于javascript - 在 Javascript 中获取 Devexpress Gridview 排序依据和排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26627420/

相关文章:

javascript - 如何从客户端检索纬度和经度坐标而不需要发布一次?

javascript - :after selector not working if jquery inserts . 在链接中处于事件状态

javascript - 如何取出select2中的数据,如果数据库中存的数据是Json响应的结果

c# - gridview edititem 模板内的日历控件

vb.net - Gridview RowUpdating 找不到控件

javascript - JavaScript 中的复选框

javascript - JSPM - jspm 安装给出错误 "Registry not found"

javascript - 语言变量中的 Velocity.Quotes 和双引号

javascript - 固定页脚和 outerheight(true) 返回值

c# - 在 databind() 之后删除 Gridview 中的行