ローカルデータソースから私の剣道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"}
});
sort
行を間違った場所で定義しています。これをグリッドのプロパティの1つとして配置していますが、それは(おっしゃるように)データソースのプロパティの1つです。
データソースプロパティの子として配置します。
$('#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を提供できます。
最終的にKendo UIにレンダリングされるTelerik MVC Controlを使用している場合
.DataSource(dataSource => dataSource
.Ajax()
.Sort(sort => sort.Add("City").Ascending()) // <-- initial sort expression
.Read(read => read.Action("Index", "Home"))
)