LP1*_*P13 9 kendo-grid kendo-asp.net-mvc kendo-sortable
我有一个剑道网格.当页面加载时,默认情况下我想按列1对网格进行排序,然后按列降序排序.
问题: 按预期排序,但排序箭头显示在最后排序的列上.因此,在下面的情况下,当页面加载时,排序箭头位于"DueDate"而不是"DownloadDate"
@(Html.Kendo().Grid<TrackingVM>()
.Name("Grid")
.Columns(col =>
{
col.Bound(p => p.ID).Hidden();
col.Bound(p => p.Year);
col.Bound(p => p.State);
col.Bound(p => p.DueDate).Format("{0:MM/dd/yyyy}");
col.Bound(p => p.DownloadDate).Format("{0:MM/dd/yyyy}");
})
.AutoBind(false)
.Pageable(x => x.PageSizes(UISettings.PageSizes))
.Sortable(x => x.AllowUnsort(false))
.Resizable(resizing => resizing.Columns(true))
.Scrollable(s => s.Height("auto"))
.DataSource(dataSource => dataSource
.Ajax()
.Sort(x => x.Add(y=>y.DownloadDate).Descending()).Sort(x=>x.Add(y=>y.DueDate).Descending())
.Read(read => read
.Action("GetData", "Tracking"))
.ServerOperation(false))
)
Run Code Online (Sandbox Code Playgroud)
nic*_*o_c 12
您当前添加列进行排序的方式基本上会覆盖前一列,并且只考虑您编写的最后一列(DueDate在本例中).发生这种情况是因为您的.Sort()语句是单一语句.
要使您的排序正常工作,您应该将您更改.Sort()为:
.Sort(x =>
{
x.Add(y=>y.DownloadDate).Descending());
x.Add(y=>y.DueDate).Descending());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6732 次 |
| 最近记录: |