【问题标题】:how to change date format sent in filter for kendo grid?如何更改剑道网格过滤器中发送的日期格式?
【发布时间】:2017-03-06 13:03:27
【问题描述】:

我正在使用具有所有日期列的自定义过滤器的 kendo ui 网格。我使用了自定义日期过滤器,因为我想在过滤时以“yyyy-MM-dd”格式发送日期。我的网格也完全在服务器端运行,用于分页和过滤器。

以下是我在日期列中使用的 MVC 中的剑道代码 -

  columns.Bound(p => p.CreatedOn).Title("Created On").Width("5%").Format("{0:dd/MM/yyyy}").Filterable(filterable => filterable
            .Extra(false).UI("CreatedOnFilter"));

这是我的脚本 -

  function CreatedOnFilter(e) {
    e.kendoDatePicker({
        format: "dd/MM/yyyy",
        change: function () {
            debugger;
            var ds = $("#InvoiceGrid").data().kendoGrid.dataSource;
            var nd = new Date(this.value());
            var day = ("0" + nd.getDate()).slice(-2);
            var mnth = ("0" + (nd.getMonth() + 1)).slice(-2);
            var formattedDate = [nd.getFullYear(), mnth, day].join("-");
            var curr_filters;
            if(ds.filter() != undefined){
                curr_filters = ds.filter().filters;
                var new_filter  = {
                    "filters": [
                      {
                          "field": "CreatedOn",
                          "operator": "contains",///Here is where I want operator as selected by user.
                          "value": formattedDate
                      }
                    ]
                };
                curr_filters.push(new_filter);
            }
            else{
                var new_filter  = {
                    "filters": [
                      {
                          "field": "CreatedOn",
                          "operator": "contains",///Here is where I want operator as selected by user.
                          "value": formattedDate
                      }
                    ]
                };
                curr_filters = new_filter;
            }
            ds.filter(curr_filters);
            this.element.closest("form").data().kendoPopup.close();                
           // kendo.ui.progress($('#divInvoiceList'), false);
        }
    });
}

如上代码脚本所示。在运算符中,我希望它由用户选择。

我们将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    这就是我在columns中使用的方式

                                   {
                                        field : "ReceivedDate",
                                        title : "Date Received",
                                        template : "#= kendo.toString(kendo.parseDate(ReceivedDate, 'yyyy-MM-dd'), 'MM/dd/yyyy') #",
                                        filterable : {
                                            cell : {
                                                showOperators : false,
                                                operator : "eq",
                                                template : function(args) {
                                                    args.element.kendoDatePicker({
                                                        format : "MM/dd/yyyy"
                                                    });
                                                }
                                            }
                                        }
                                    },
    

    template 用于更改我从服务器接收到的格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 2019-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多