【问题标题】:How can I change Kendo Grid Filter UI?如何更改 Kendo Grid Filter UI?
【发布时间】:2016-12-06 08:34:21
【问题描述】:

我使用 Grid kendo 来显示我的数据。 在我的查询中,我使用了这个字段:

公共可空日期{get;放; }

当我启用可过滤时,我会得到选择日期的日期选择器。但我想要这种过滤器行为,如 string 。 我使用此代码:

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

并且不能正常工作。 那我该怎么办?

【问题讨论】:

    标签: asp.net-mvc kendo-ui kendo-grid


    【解决方案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 是一个字符串属性,我在后端的 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

    【讨论】:

    • 你可以跳过 .ClientTemplate("#: kendo.toString(ETA?new Date(ETA):ETA,'MM/dd/yyyy HH:mm')#") 部分
    • 显示日期模式和任何东西对我来说都没有关系。我只需要删除过滤器工具栏中的日期选择器并强制文本框接受任何字符串并传递给 ActionResult 。
    • 你可以跳过格式的东西,我已经评论过,ETA 属性是字符串类型,所以你的网格过滤器不会显示日期选择器,它会显示字符串过滤器选项。
    • 这对我不起作用。我将数据库中的信息保存到日期时间字段中,但无法尽快更改。我需要其他类似我在主要问题中编写的代码的东西。通过此代码“GridFilterUIRole.Default”,您可以更改过滤器部分视图的 UI,例如时间跨度或日期选择器等。但这不是常规字符串的选项。我不知道我该怎么办......
    • 看看我们如何将日期时间过滤器转换为字符串,ToDataSourceResult 假设如何工作,我的意思是您必须将日期时间转换为字符串以过滤记录。这就是为什么我建议您将数据显示为字符串并将字符串转换为日期时间,同时保存在数据库中。
    猜你喜欢
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 2012-07-05
    • 2018-03-12
    相关资源
    最近更新 更多