2016-12-06 39 views
1

我使用Grid kendo显示我的数据。 在我的查询中我使用这个字段:如何更改Kendo网格过滤器UI?

public Nullable Date {get;组; }

当我启用可筛选我得到日期选择器选择日期。但我想要像字符串这样的过滤器行为。我使用此代码:

columns.Bound(p => p.Date).Width("10%").Title("Date").Filterable(x=>x.UI(GridFilterUIRole.Default)); 

并且无法正常工作。 那我该怎么办?

回答

1
col.Bound(c => c.ETA).ClientTemplate("#: kendo.toString(ETA? new Date(ETA):ETA,'MM/dd/yyyy HH:mm')#").Format("{0:MM/dd/yyyy HH:mm }").Title("ETA").HeaderHtmlAttributes(new { title = "ETA" }) 

ETA是一个字符串属性我将datetime转换为后端c#函数中的字符串。

它不是一个永久的解决办法,但我在现场系统中使用这一点,它至今工作正常;)

编辑:columns.Bound(p => p.Date).Width("10%").Title("Date").Filterable(true);

我不知道什么是x=>x.UI(GridFilterUIRole.Default)

Date财产作为string键入您的模型,所以kendo grid将它视为string。并且它会将筛选器的值作为string传递给您的action method也可以

+0

您可以跳过.ClientTemplate(“#:kendo.toString(ETA?new Date(ETA):ETA,'MM/dd/yyyy HH:mm' )#“)部分 –

+0

对我来说显示日期模式和任何事情都没有关系。我只需要删除过滤器工具栏中的日期选择器,并强制文本框接受任何字符串并传递给ActionResult。 – Iman

+0

你可以跳过格式的东西,我已经评论过,ETA属性是字符串的类型,所以你的网格过滤器不会显示日期选择器,它会告诉你字符串过滤器选项。 –