如何在 UI5 中的 DateTimeOffset 值上发送 $filter 查询函数?

问题描述

谷歌搜索后,我想我需要网址

...$filter=year(DateTimeProperty) eq 1990

我不太确定如何在 UI5 中使用 sap.ui.model.Filter 实现这样的过滤查询

感谢任何帮助。

解决方法

您可以像这样创建过滤器:

const oFilter = new sap.ui.model.Filter("year",sap.ui.model.FilterOperator.EQ,"1990");

有多种方法可以使用此过滤器。如果您有一个已经绑定的元素:

this.byId("sListId").getBinding("items").filter(oFilter);

显然你需要调整id和binding。或者您可以创建一个新绑定,将过滤器传递给构造函数

new sap.ui.model.odata.v4.ODataListBinding(oModel,sPath,oContext,vSorters,vFilters,mParameters)

这里是 OData v4 Listbindings https://sapui5.hana.ondemand.com/1.86.0/#/api/sap.ui.model.odata.v4.ODataListBinding%23methods/filter 的 API,这里是一些关于过滤器和 OData V4 https://sapui5.hana.ondemand.com/1.86.0/#/topic/426ff318051a465191c861b51a74f00e 的文档