有没有办法过滤sap.m.Tree?
Is there any way to filter sap.m.Tree?
我是 SAPUI5 组件的新手。
有没有办法将 $filter 应用于 sap.m.Tree?我觉得很奇怪。
我目前正在使用 $filter 选项来限制来自后端的数据(通过使用 WHERE 子句,来自 $filter 选项),所以我必须 $filter 来传递我的参数。
我的控制器:
this.oCharTable = this.getView().byId("CharTree")
var aFilterChar = new Filter("Matnr", FilterOperator.EQ , filter_base[2])
this.oCharTable.bindElement({
path: "/AUSP_ENTITY",
model: "AUSP_DATA",
filters: [aFilterChar],
parameters: {
NumberOfExpandedLevels : 2
}
});
它是 $batch 负载:
GET AUSP_ENTITY?$filter=HierarchyLevel%20eq%20%270%27&$skip=0&$top=100 HTTP/1.1
sap-cancel-on-close: true
这取决于您的数据源:
- 如果您有 odata v2,则无法过滤儿童。这根本不受 v2
支持
- 如果您有 odata v4,则树绑定不支持。好消息,它在路线图上 https://github.com/SAP/openui5/issues/2728
- 如果您预加载所有数据并将其放入 json 模型中。您可以使用 vanilla js
随意过滤
基于给定的答案。您可以根据需要使用任何已通过的过滤器忽略 v2 规范并在后端进行过滤。
哦,我想我找到了解决方案 - 问题出在后端!
感谢 this answer,使用暂停 - 恢复让我发送正确的 GET 请求,例如
../AUSP_ENTITY?$filter=HierarchyLevel%20eq%20%270%27%20and%20(Matnr%20eq%20%27SomeKindofMaterialHere%27)&$skip=0&$top=100
我将后端更改为 select 正确的值,并将值返回给前端。
- 对于可能会阅读我的问题的未来领导者,我更改了我的后端以不仅采用 1 个选项(这一个,可能是 Matnr),而且还采用 'HierarchyLevel',必须小心的
详细 - 我使用 $filter 参数从 CDS View 获取数据,这可以将 select 结果降低到合理的水平。
所以我重新定义DPC_EXTClass,拆分我的$filter输入,并将其放入我的参数中,并将结果放入结果table。
TL;dr:如果您在树视图上使用 $filter:请检查 'return' 后端。那里可能有问题。
我是 SAPUI5 组件的新手。
有没有办法将 $filter 应用于 sap.m.Tree?我觉得很奇怪。
我目前正在使用 $filter 选项来限制来自后端的数据(通过使用 WHERE 子句,来自 $filter 选项),所以我必须 $filter 来传递我的参数。
我的控制器:
this.oCharTable = this.getView().byId("CharTree")
var aFilterChar = new Filter("Matnr", FilterOperator.EQ , filter_base[2])
this.oCharTable.bindElement({
path: "/AUSP_ENTITY",
model: "AUSP_DATA",
filters: [aFilterChar],
parameters: {
NumberOfExpandedLevels : 2
}
});
它是 $batch 负载:
GET AUSP_ENTITY?$filter=HierarchyLevel%20eq%20%270%27&$skip=0&$top=100 HTTP/1.1
sap-cancel-on-close: true
这取决于您的数据源:
- 如果您有 odata v2,则无法过滤儿童。这根本不受 v2 支持
- 如果您有 odata v4,则树绑定不支持。好消息,它在路线图上 https://github.com/SAP/openui5/issues/2728
- 如果您预加载所有数据并将其放入 json 模型中。您可以使用 vanilla js 随意过滤
基于给定的答案。您可以根据需要使用任何已通过的过滤器忽略 v2 规范并在后端进行过滤。
哦,我想我找到了解决方案 - 问题出在后端!
感谢 this answer,使用暂停 - 恢复让我发送正确的 GET 请求,例如
../AUSP_ENTITY?$filter=HierarchyLevel%20eq%20%270%27%20and%20(Matnr%20eq%20%27SomeKindofMaterialHere%27)&$skip=0&$top=100
我将后端更改为 select 正确的值,并将值返回给前端。
- 对于可能会阅读我的问题的未来领导者,我更改了我的后端以不仅采用 1 个选项(这一个,可能是 Matnr),而且还采用 'HierarchyLevel',必须小心的
详细 - 我使用 $filter 参数从 CDS View 获取数据,这可以将 select 结果降低到合理的水平。
所以我重新定义DPC_EXTClass,拆分我的$filter输入,并将其放入我的参数中,并将结果放入结果table。
TL;dr:如果您在树视图上使用 $filter:请检查 'return' 后端。那里可能有问题。