TelerikUi different DateOutput Format on filter

45 Views Asked by At

So I instead of using a texfield to filter date in my grid filter i added a datepicker. The problem that I'm having is that the datepicker on filtering is sending a different format output to my controller that I can't really format.

It returning my dates like "Fri Mar 30 2018 00:00:00 GMT+0200 (Romance Summer Time)". What I want my filter to do is to keep the format from my UI. This date format is not suitable in my application because depending on the user geographycal location he may have a different dateformat standaard so telerikui will send a different output everytime. I would have to check for every possibility in this case.

Grid:

@(Html.Kendo().Grid<EmployeeHistoryViewModel>()
                      .Name("gridEmployeeHistoryList")
                      .Columns(columns =>
                      {
                          columns.Bound(c => c.Action).Title(GlobalResources.Action);
                          columns.Bound(c => c.ActionTakenOn).Title(GlobalResources.ActionTakenOn).Filterable(f => f.UI("ANAB.Employee.employeehistoryDetail.DateTimeFilter"));
                          columns.Bound(c => c.Actor).Title(GlobalResources.Actor);
                          columns.Bound(c => c.FieldName).Title(GlobalResources.FieldName);
                          columns.Bound(c => c.OldValue).Title(GlobalResources.OldValue);
                          columns.Bound(c => c.NewValue).Title(GlobalResources.NewValue);
                      })
                      .HtmlAttributes(new { style = "height: 550px;" })
                      .Scrollable()
                      .Events(ev => ev.DataBound("ANAB.addGridIcons"))
                      .Selectable(selectable =>
                      {
                          selectable.Mode(GridSelectionMode.Single);
                          selectable.Type(GridSelectionType.Row);
                      })
                      .Filterable(filter =>
                      {
                          filter.Extra(false);
                          filter.Operators(op =>
                          {
                              op.ForString(str =>
                              {
                                  str.Clear().Contains("Contains");
                              });
                              op.ForDate(date =>
                              {
                                  date.Clear().IsEqualTo("required format: " + @ANABAppContext.GetDateFormat());
                              });
                          });
                      })
                      .Resizable(resize => resize.Columns(true))
                      .Sortable()
                      .Pageable(pageable => pageable
                          .Refresh(true)
                          .ButtonCount(5))
                      .DataSource(dataSource => dataSource
                          .Ajax()
                          .Model(model => model.Id(p => p.Id))
                          .Read(read => read.Action("GetEmployeeHistoryList", "Employee", new { employeeId = Model.Id }))
                          .PageSize(ANABAppContext.GetPageSize())
                        )
        )

JS:

var DateTimeFilter = function (control) {
    $(control).kendoDatePicker({
        format: ANAB.Employee.employeehistoryDetail.options.dateFormat,
        parseFormats: ANAB.Employee.employeehistoryDetail.options.dateFormat,
    });
}
0

There are 0 best solutions below