0

我尝试在 filter.DateRange 中添加左侧下拉列表,但我不知道该怎么做

我希望用户可以在一列中选择范围或单个日期与 '<' , '>' 等。

4

1 回答 1

0

我是Angular-Slickgrid的作者

您正在谈论的左侧下拉列表仅适用于复合过滤器,并且日期范围不是复合过滤器。这个过滤器没有必要也没有用例成为复合过滤器,我不会添加这样的功能。但是,您可以在列定义中将运算符设置为包含 ( >= date1 && <= date2) 或排除 ( > date1 && < date2)。范围过滤器与复合过滤器非常不同,您不能将复合过滤器的所有运算符添加到没有任何意义的范围过滤器(<、<=、<>、>、>=)中,什么是有意义的一个范围是要知道它是否是包容性/独占性的,并且不是动态可用的。

this.columnDefinitions = [
  {
    id: 'finish', name: 'Finish', field: 'finish', 
    formatter: Formatters.dateIso, 
    type: FieldType.date,
    filter: {
      model: Filters.dateRange,
      operator: OperatorType.rangeInclusive, // defaults to exclusive
    }
  },
  // ...
];

如果您真的希望以某种方式构建复合日期范围过滤器,那么您唯一的选择就是创建自己的自定义过滤器,按照Wiki - 自定义过滤器上的说明,您可以扩展内置的日期过滤器。

于 2020-05-26T14:54:58.833 回答