【问题标题】:Angular SlickGrid daterange filter not workingAngular SlickGrid 日期范围过滤器不起作用
【发布时间】:2020-06-17 11:41:08
【问题描述】:

我在 Angular SlickGrid 中有两个日期列,表的列值基于一个类。这两列基于此类的两个日期字段。

我想将这些值显示为 dateTimeShortIso,但对这两列中的每一列都使用 dateRange 过滤器。

由于某种原因,实际使用过滤器时,没有显示任何数据

这是类的相关部分

export class Task {
  public createdDate: Date;
  public dateUpdated: Date;
}

这是我填充数据集的方式

this._api
      .getApiData()
      .subscribe((res: Task) => {
        this.dataset = res;
      });

以下是相关的列定义。

this.columnDefinitions = [
      {
        id: 'createdDate', name: 'Created Date', field: 'createdDate', sortable: true, filterable: true, 
        formatter: Formatters.dateTimeShortIso, type: FieldType.date, filter: {
          model: Filters.dateRange
        }
      },
      {
        id: 'dateUpdated', name: 'Date Updated', field: 'dateUpdated', sortable: true, filterable: true, 
        formatter: Formatters.dateIso, type: FieldType.date, filter: {
          model: Filters.dateRange
        }
      }
    ];

【问题讨论】:

  • 我认为您还需要 outputType 属性以使选择器使用正确的格式 type: FieldType.dateUtc, outputType: FieldType.dateTimeIso。无论如何,您的问题中没有足够的信息可以为您提供更多帮助,我所做的示例按预期工作......
  • 我已经更新了这个问题,我希望这就够了。我已经使用了您所做的示例,但我不知道这里发生了什么。
  • 发现了问题,就是我填充数据集的地方,我不得不重新初始化这些列的日期,例如:createdDate = new Date(createdDate);

标签: angular angular-slickgrid


【解决方案1】:

日期格式可能不正确。 使用日期构造函数“重新启动”日期,例如:

createdDate = new Date(createdDate);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-09
    • 2017-02-24
    • 2014-11-02
    • 2019-10-20
    • 2021-08-12
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多