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

5

我是初学者,正在使用Jquery的kendo-grid。

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

我找到了以下代码。

console.log(grid.dataSource._sort[0].dir);
console.log(grid.dataSource._sort[0].field);

是否有其他方法可以实现呢?

这是我的代码。

        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个回答

10

避免使用私有字段。 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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接