【问题标题】:kendo ui grid date column - control the format of date sent by filter operationkendo ui grid date column - 控制过滤操作发送的日期格式
【发布时间】:2026-02-23 09:30:01
【问题描述】:

由于将日期过滤器应用于网格列,我们如何控制发送到服务器的日期格式。例如,我有以下视图

<script type="text/javascript">
    $("#request-grid").kendoGrid({
        dataSource: {
        ...
            schema: {
                model: {
                    fields: {
                        CreatedOn: { type: "date" },
                        ...
                    }
                }
            }
         },
        columns: [{
            field: "Id", title: "Id", width: 20
        }, {
            field: "CreatedOn", title: "Created On", width: 75, format: "{0:dd-MM-yyyy}"
        }, {
            command: ["edit", "destroy"], width: 200
        }],
    });

</script>

当我尝试过滤日期列 (CreatedOn) 时,我看到参数是以格式发送的

2014 年 3 月 12 日星期三 00:00:00 GMT+0530(印度标准时间)

如何控制由于在网格列上应用日期过滤器而发送到服务器的日期格式。

我已经按照here 中描述的设置文化的程序进行了操作。这是我在布局页面中的配置方式。

kendo.timezones.js and kendo.culture.en-IN.js included through bundle

<script type="text/javascript">
    kendo.culture("en-IN");
</script>

请给点建议。

【问题讨论】:

    标签: kendo-ui kendo-grid


    【解决方案1】:

    我最近遇到了同样的问题,对我来说最简单的方法是覆盖 Date 对象的 toString 方法。我是这样做的:

    Date.prototype.toString = function() {
        return this.getFullYear() + "-" + (this.getMonth() + 1) + "-" + this.getDate() + " " + this.getHours() + ":" + this.getMinutes() + ":" + this.getSeconds();
    }
    

    【讨论】:

      【解决方案2】:

      如果改变文化没有起到作用。然后你需要使用的函数在dataSource.transport配置下调用parameterMap

      【讨论】:

      • 是的,我确实在通过文档进行了一些努力后发现了这一点。但是,对于我使用日期字段的每个地方,都必须这样做。我希望进行某种连接,然后以我的 asp.net MVC 控制器所需的格式发布所有日期字段。不过,您的回答解决了问题,但我会等待一段时间,以防有更好的方法,然后再将您的回答标记为答案。