Filter 日期和编号的KendoUI网格过滤器

Filter 日期和编号的KendoUI网格过滤器,filter,kendo-ui,kendo-grid,angular5,Filter,Kendo Ui,Kendo Grid,Angular5,我正在构建一个角度应用程序。在我的KendoUI网格中,EmployeeID和总小时数都是数字,但不确定如何为它们设置过滤器。 ReportDate以mm/dd/yyyy(2018年3月16日)的格式存储,我正在使用Telerik网站上的示例中给出的filter=“date”format=“{0:d}”,但使用此过滤器,日期显示为2018年3月16日,而不是2018年3月16日,并且无法应用过滤器。请指导如何更正格式 <kendo-grid [data]="gri

我正在构建一个角度应用程序。在我的KendoUI网格中,EmployeeID和总小时数都是数字,但不确定如何为它们设置过滤器。 ReportDate以mm/dd/yyyy(2018年3月16日)的格式存储,我正在使用Telerik网站上的示例中给出的filter=“date”format=“{0:d}”,但使用此过滤器,日期显示为2018年3月16日,而不是2018年3月16日,并且无法应用过滤器。请指导如何更正格式

    <kendo-grid 
        [data]="gridData"
        [pageSize]="state.take"
        [skip]="state.skip"
        [sort]="state.sort"
        [filter]="state.filter"
        [sortable]="true"
        [pageable]="true"
        [filterable]="true"
        (dataStateChange)="dataStateChange($event)"
        [kendoGridBinding]="employees" 
        [height]="600" [group]="group" [pageable]="true" [pageSize]="10">
    <ng-template kendoGridToolbarTemplate>
        <button type="button" kendoGridExcelCommand>
      <span class="k-icon k-i-file-excel"></span>Export to Excel</button>
  </ng-template>
  <kendo-grid-column field="EmployeeID" title="Employee ID" [width]="150"></kendo-grid-column>
  <kendo-grid-column field="ReportDate" title="Report Date" width="240" filter="date" format="{0:d}" ></kendo-grid-column>
  <kendo-grid-column field="BeginTime" title="Begin Time"></kendo-grid-column>
  <kendo-grid-column field="EndTime" title="End Time"></kendo-grid-column>
  <kendo-grid-column field="TotalHours" title="Total Hours"></kendo-grid-column>
  <kendo-grid-column field="Approvedby" title="Approved by"></kendo-grid-column>
  <kendo-grid-column field="Timestamp" title="Time stamp"></kendo-grid-column>
 <kendo-grid-excel fileName="Report.xlsx" [fetchData]="allData"></kendo-grid-excel>
</kendo-grid>

输出到Excel

我真的不明白你的问题,因为它的解决方案可能只是改变格式,所以你希望它是2018年3月16日。然后 为什么不将格式更改为
filter=“date”format=“{0:dd/MM/yyyy}

只要您的ReportDate字段在数据源中存储为date,它就应该可以工作


示例:取自剑道示例,我只是稍微更改了格式

您尝试过parseFormat吗?这确实将过滤器更改为正确的格式,但剑道将月份显示为月份+1(您可以在提供的示例中看到这一点)我知道在JavaScript中,month是基于0的数组,但如何修复它?为什么要修复它?它只是在base 1中显示了它,这是常见的一个,您希望它显示为base 0?我想我没有清楚地解释自己。在您提供的示例中,对于ProductId 1,日期定义为“FirstOrderedOn”:新日期(1996,8,20),但在网格中显示为1996年9月20日,而不是1996年8月20日。如何解决此问题?请检查。如果我们将其保存为日期,则会出现此行为。如果希望数据源数据与UI上显示的数据相同,则将其存储为字符串