剑道网格 MVC 可筛选选项,用于列嵌套属性



我正在使用 asp.net 核心MVC 剑道网格列和嵌套属性。我有日期时间类型的"创建日期"列,但我只想使用"创建日期.日期"等属性中的日期部分。我已经为"创建日期"列应用了可过滤选项,并且工作正常。

columns.Bound(c => c.CreatedDate).Title("Created On")
.Filterable(x=>x.Operators(d=>d.ForDate(o=>o.Clear()
.IsGreaterThan("Is Greater Than") 
.IsLessThan("Is Less Than"))));

但是当我为具有嵌套属性(如"CreatedDate.Date"(的同一列应用可过滤选项时,它不起作用。所有过滤器选项都显示在列表中。

columns.Bound(c => c.CreatedDateTimeUtc.Date).Title("Created On")
.Filterable(x=>x.Operators(d=>d.ForDate(o=>o.Clear()
.IsGreaterThan("Is Greater Than")
.IsLessThan("Is Less Than"))));

我是否缺少要为嵌套属性添加任何内容以应用自定义可过滤选项?请帮助我解决这个问题

我认为剑道不会过滤开箱即用的复杂对象。一种选择是将字段添加到视图模型中,使其不再复杂。否则,您可以捕获过滤器事件并在 javascript 函数中处理该字段的过滤。

本文档可能会有所帮助:

https://demos.telerik.com/aspnet-mvc/grid/events

https://docs.telerik.com/kendo-ui/knowledge-base/grid-filter-column-with-dropdownlist

最新更新