如何获取过滤后的 OData 结果的计数?
How can I get the count of filtered OData results?
我正在尝试获取 Fiori SAPUI5 应用程序中过滤后的 OData 结果的计数。我可以使用 Postman 中的 $count
和 $inlinecount
获得 correct 计数:
MyEntitySet/$count?$filter=Id eq '9'
和
MyEntitySet?$filter=Id eq '9'&$inlinecount=allpages&$format=json
.
但是,当我尝试在我的 UI5 代码中使用这些查询参数时,我没有得到我想要的结果。
myV2ODataModel.read("/MyEntitySet/$count?$filter=Id eq '9'", {/*...*/});
给我未过滤结果的计数,而
myV2ODataModel.read("/MyEntitySet?$filter=Id eq '9'&$inlinecount=allpages", {/*...*/});
给我所有的记录,我无法访问内联计数。
检查 myV2ODataModel.read
的记录 API 参考:https://sdk.openui5.org/api/sap.ui.model.odata.v2.ODataModel#methods/read
所以应该是:
// Filter required from "sap/ui/model/Filter"
myV2ODataModel.read("/MyEntitySet/$count", {
// ...,
filters: [
new Filter(/*...*/),
],
});
- API
sap/ui/model/Filter
参考:https://sdk.openui5.org/api/sap.ui.model.Filter
我正在尝试获取 Fiori SAPUI5 应用程序中过滤后的 OData 结果的计数。我可以使用 Postman 中的 $count
和 $inlinecount
获得 correct 计数:
MyEntitySet/$count?$filter=Id eq '9'
和
MyEntitySet?$filter=Id eq '9'&$inlinecount=allpages&$format=json
.
但是,当我尝试在我的 UI5 代码中使用这些查询参数时,我没有得到我想要的结果。
myV2ODataModel.read("/MyEntitySet/$count?$filter=Id eq '9'", {/*...*/});
给我未过滤结果的计数,而
myV2ODataModel.read("/MyEntitySet?$filter=Id eq '9'&$inlinecount=allpages", {/*...*/});
给我所有的记录,我无法访问内联计数。
检查 myV2ODataModel.read
的记录 API 参考:https://sdk.openui5.org/api/sap.ui.model.odata.v2.ODataModel#methods/read
所以应该是:
// Filter required from "sap/ui/model/Filter"
myV2ODataModel.read("/MyEntitySet/$count", {
// ...,
filters: [
new Filter(/*...*/),
],
});
- API
sap/ui/model/Filter
参考:https://sdk.openui5.org/api/sap.ui.model.Filter