如何在kendo网格中获取当前排序字段?

时间:2016-10-05 04:46:59

标签: kendo-ui kendo-grid

我是初学者...... 我在Jquery中使用了kendo-grid。

我想在kendo-gird中获取当前的排序字段。

我找到了这个。 的console.log(grid.dataSource._sort [0] .DIR); 的console.log(grid.dataSource._sort [0]点域);

我能找到替代方式吗?

这是我的代码。

        var dataSource = new kendo.data.DataSource({
        transport       : {
            read        : {
                type        : 'post',
                dataType    : 'json',
                contentType : 'application/json;charset=UTF-8',
                url         : cst.contextPath() + "/watcher/kendoPagination_statsErrorHistoryRetrieveQry.htm",
                data        : param
            },
            parameterMap: function (data, opperation) {
                return JSON.stringify(data);
            }
        },
        schema          : {
            data    : function(data) {
                return data;
            },
            total   : function(response) {
                return response.length > 0 ? response[0].TOTAL_COUNT : 0;
            }
        },
        pageSize        : cst.countPerPage(),
        serverPaging    : true,
        serverSorting   : true
    });

    var columns = kendoGridColumns();

    $("#grid")
        .kendoGrid({
            dataSource  : dataSource,
            sortable    : {
                mode : 'multiple',
                allowUnsort : true
            },
            columns     : columns.error()
            selectable  : 'row',
            scrollable  : true,
            resizable   : true,
        }));

如何获取当前排序的字段名称?

1 个答案:

答案 0 :(得分:5)

避免使用私有字段。 DataSource sort方法是获取当前排序状态的官方方法:

http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#methods-sort

var dataSource = new kendo.data.DataSource({
  data: [
    { name: "Jane Doe", age: 30 },
    { name: "John Doe", age: 33 }
  ],
  sort: { field: "age", dir: "desc" }
});

var sort = dataSource.sort();

console.log(sort.length);   // displays "1"
console.log(sort[0].field); // displays "age"