2017-03-06 59 views
0

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

下面是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); 
     } 
    }); 
} 

正如上面的代码脚本中所示。在运营商,我希望它是由用户选择。

任何帮助将不胜感激。

回答

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如何使用是用来改变,我从服务器接收的格式。