剑道网格按可空属性排序
Posted
技术标签:
【中文标题】剑道网格按可空属性排序【英文标题】:Kendo grid sort by nullable property 【发布时间】:2014-12-21 05:49:16 【问题描述】:我正在使用 Kendo 网格的 html 助手来显示一些数据。网格使用的模型具有 DateTime 可为空的属性,我想在网格中显示按 myDateTime 属性降序排序的项目,首先使用空值。
我已经设法按降序显示它们,但最后显示空值。有什么想法可以先显示空值,然后再显示降序排序的值?
@(Html.Kendo().Grid<MyVm>()
.Name("myGrid")
.Columns(columns =>
columns.Bound(m => m.myDateProperty);
)
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.Sort(s => s.Add("myDateProperty").Descending())
.Model(model => model.Id(a => a.Id))
.ServerOperation(false)
.Read("myMethod", "myController"))
【问题讨论】:
【参考方案1】:我认为您无法以任何其他方式执行此解决方法:
视图模型:
public class GridViewModel
public DateTime? myDateProperty get; set;
public DateTime myDateProperty_filter get return myDateProperty.HasValue ? myDateProperty.Value : DateTime.MaxValue ;
控制器:
JsonResult myMethod([DataSourceRequest] DataSourceRequest request)
//get your data and convert it to GridViewModel
List<GridViewModel> models = getModel();
return Json(models.ToDataSourceResult(request));
查看:
@(Html.Kendo().Grid<GridViewModel>()
.Name("myGrid")
.Columns(columns =>
columns.Bound(m => m.myDateProperty_filter).ClientTemplate("#= myDateProperty #");
)
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.Sort(s => s.Add("myDateProperty_filter").Descending())
.Model(model => model.Id(a => a.Id))
.ServerOperation(false)
.Read("myMethod", "myController"))
【讨论】:
以上是关于剑道网格按可空属性排序的主要内容,如果未能解决你的问题,请参考以下文章