我试图在filter.DateRange中添加左侧的下拉菜单,但我不知道该怎么做。
我想让用户有可能在一列中选择范围或单一日期,如'<','>'等。
我是作者 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
}
},
// ...
];
如果你真的希望以某种方式建立一个复合日期范围过滤器,你唯一的选择是创建你自己的自定义过滤器,为此,请按照在 维基 - 自定义过滤器你可以扩展内置的日期过滤器。