Kendo 抑制 DatePicker

Kendo suppress DatePicker

我们正在使用 Kendo 和 ASP.NET MVC。我有一个包含多个不同列的 Kendo 网格。两列包含时间。虽然它们是 DateTime 对象,但我们只显示它们的时间分量。当用户 select 过滤其中一列以及空白文本输入框时,他们有 DatePicker,可以让他们通过 month/day 选择日期。显然,这对一天中的某个时间没有意义。

有没有办法抑制DatePicker?理想情况下,他们会使用 TimePicker,但我们可以没有它。我已经看到几个示例,这些示例说明如何使用 JavaScript 执行此操作,但对于 MVC 却一无所获。 MVC 甚至可能吗?

我们在服务器(SQL 服务器)上进行所有排序和过滤,因为我们进行服务器端分页(我们不想加载 1,000,000 行,只是为了显示一些)。所以我们不依赖 Kendo 进行排序和过滤,只依赖 UI.

我们尝试过的其他事情:

将时间更改为字符串。这摆脱了 DatePicker,但过滤器选项包括对字符串有意义的运算符,但不一定是时间。并且缺少时间运算符("Is before"、"Is after" 等)。

自己构建过滤器选项:这是我们将 DateTimes 更改为字符串后的一次尝试。这只允许我们添加对字符串有意义的过滤器,而不是 DateTimes。

这是我们的 Razor 标记的示例。相当标准的东西:

@(Html.Kendo().Grid<FModel>()
    .Name("FStuff")
    .Columns(c =>
    {
        c.Bound(m => m.Date);
        c.Bound(m => m.Location);
        c.Bound(m => m.Name);
        c.Bound(m => m.PurchaseOrderID);
        c.Bound(m => m.Start);      // time column
        c.Bound(m => m.End);        // time column
    })
    .Pageable(p => p
    .Enabled(true)
    .PageSizes(new List<int> { 10, 25, 999 })
    .Refresh(true))
    ... other options ...

有人知道我们应该采取什么方法吗? Kendo 我们想做的事情可行吗?

在您的时间列中,像这样配置 .Filter() 选项:

c.Bound(x => x.Start).Filterable(f => f.UI(GridFilterUIRole.TimePicker))

您可能还想考虑使用 .Format("{0:t}")(或您喜欢的任何格式)设置格式