2017-03-06 58 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如何使用是用來改變,我從服務器接收的格式。