我使用
DateRangeSelection
元素在后端选择我的数据。我选择日期“01.07.2024”。
这个值也可以在过滤器对象中找到:
相应的服务实现收到不同的日期,我不知道为什么:
OData 服务中的
IV_FILTER_STRING
对应过滤选项卡:
( ( PurchaseOrderDate ge '20240106' ) and ( PurchaseOrderDate le '20240106' ) )
对我来说这似乎是一种奇怪的行为!
尝试使用下面的过滤器,将日期作为 js 日期对象传递。
new sap.ui.model.Filter({
path: "YOUR_DATE_FIELD_TO_FILTER",
operator: sap.ui.model.FilterOperator.BT,
value1: new Date("01.07.2024"),
value2: new Date("01.07.2024")
})
在提供的 OData V2 $metadata 中,确保实体属性
PurchaseOrderDate
的类型为 Edm.DateTime
并用 sap:display-format="Date"
进行注释。请参阅 “日期、时间、时间戳和时区”- SAPUI5 文档。
之后,每个 Filter
value1
和 value2
都应该是 JavaScript Date
的实例(最好使用 sap/ui/core/date/UI5Date.getInstance
创建),但不是 字符串。
也请遵循现有的(智能)FilterBar 文档,例如“智能筛选栏”主题中的 “日期筛选字段”。