首页 > 解决方案 > How to send $filter query functions on DateTimeOffset values in UI5?

问题描述

After some Googling, I figured I need the URL to be

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

I am not so sure how to achieve such a filter query using sap.ui.model.Filter in UI5.

Any help is appreciated.

标签: sapui5odata-v4

解决方案


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

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


推荐阅读