Kendo UI Grid 本地数据源列默认排序

Posted

技术标签:

【中文标题】Kendo UI Grid 本地数据源列默认排序【英文标题】:Kendo UI Grid local data source column sort by default 【发布时间】:2014-08-21 21:00:56 【问题描述】:

尝试从本地数据源在我的剑道 UI 网格上设置默认排序列。我已经阅读了所有我应该输入的内容:

sort:  field: "price", dir: "desc" 

到数据源。我已经尝试过了,但它仍然无法正常工作(请参阅以下示例的底部)。

这是我的完整代码,我哪里出错了?

$('#grid').kendoGrid(
                dataSource: [
                    
                        date: "Feb 13 2014",
                        price: 5,
                    ,
                    
                        date: "Feb 15 2014",
                        price: 7,
                    ,
                    
                        date: "Feb 12 2014",
                        price: 6,
                    
                ],
                height:500,
                sortable: true,
                pageable: false,
                columns: [
                    
                        field: "date",
                        title: "Date"
                    ,
                    
                        field: "price",
                        title: "Price",
                    
                ],
                sort: field: "price", dir: "desc"
            );

【问题讨论】:

【参考方案1】:

您在错误的位置定义了sort 行。您将其作为网格的属性之一,但它(如您所说)是数据源的属性之一。

将其作为数据源属性的子项:

$('#grid').kendoGrid(
    dataSource: 
        data: [
            date: "Feb 13 2014",
            price: 5,
        , 
            date: "Feb 15 2014",
            price: 7,
        , 
            date: "Feb 12 2014",
            price: 6,
        ],
        sort: 
            field: "price",
            dir: "desc"
        
    ,
    height: 500,
    sortable: true,
    pageable: false,
    columns: [
        field: "date",
        title: "Date"
    , 
        field: "price",
        title: "Price",
    ],
);

如果还是不行,我可以提供一个 jsFiddle 供你使用。

【讨论】:

你能给我jsFiddle吗 确保字段名称的大小写正确。如果您在 asp.net core 中使用模型,LastName 在 javascript 中将变为 lastName。【参考方案2】:

如果你使用的是 Telerik MVC Control,它最终会渲染到 Kendo UI

.DataSource(dataSource => dataSource
        .Ajax()
        .Sort(sort => sort.Add("City").Ascending()) // <-- initial sort expression
        .Read(read => read.Action("Index", "Home"))
    )

【讨论】:

请注意,Add 中的字符串(例如 City)是该列绑定到的字段的名称 多重排序示例***.com/questions/31437920/…

以上是关于Kendo UI Grid 本地数据源列默认排序的主要内容,如果未能解决你的问题,请参考以下文章

Kendo UI Grid:如果有任何未决更改,则无法拦截和取消排序事件

Kendo UI Grid 使用总结

asp.net mvc kendo ui grid 加密列数据

kendo ui grid 完成服务器端分页和设置总数

Kendo UI Grid 根据其数据类型为列提供不同的模板

kendo ui grid 动态控制某属性