尝试从本地数据源在我的kendo 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"}
});
答案 0 :(得分:45)
您正在错误的地方定义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来解决。
答案 1 :(得分:2)
如果您使用的是Telerik MVC控件,该控件最终将呈现给Kendo UI
.DataSource(dataSource => dataSource
.Ajax()
.Sort(sort => sort.Add("City").Ascending()) // <-- initial sort expression
.Read(read => read.Action("Index", "Home"))
)