我们正在使用Kendo和ASP.NET MVC。我有一个带有几个不同列的Kendo网格。两列包含时间。虽然它们是DateTime对象,但我们只显示它们的时间组件。当用户选择过滤其中一列以及空白文本输入框时,他们会使用DatePicker,这样他们就可以按月/日选择日期。显然,这对于一天中的时间来说毫无意义。
有没有办法抑制DatePicker?理想情况下,他们可以使用TimePicker,但我们可以没有它。我已经看过几个示例,说明如何使用JavaScript,但没有任何MVC。它甚至可以用MVC吗?
我们正在对服务器(SQL服务器)进行所有排序和过滤,因为我们进行服务器端分页(我们不想加载1,000,000行,只是为了显示一些)。因此,我们不依赖于Kendo进行排序和过滤,只需要UI。
我们尝试过的其他事情:
将时间更改为字符串。这摆脱了DatePicker,但是过滤器选项包括对字符串有意义的运算符,但不一定是时间。并且缺少操作员的时间(“之前”,“之后”等)。
自己构建过滤器选项:在将DateTimes更改为字符串之后,这是一个注意事项。这只允许我们添加对字符串有意义的过滤器,而不是DateTimes。
这是我们的Razor标记的一个例子。非常标准的东西:
keyPath
有没有人知道我们应采取的方法?我们想用Kendo做什么?
答案 0 :(得分:1)
在时间列上,配置.Filter()
选项,如下所示:
c.Bound(x => x.Start).Filterable(f => f.UI(GridFilterUIRole.TimePicker))
您可能还需要考虑使用.Format("{0:t}")
(或您喜欢的任何格式)设置格式