如何在XML格式的过滤器odata上绑定动态值?

2020-09-29 16:52发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我有一个列表,我需要根据传递给它的过滤器值动态加载列表。 我使用XML视图进行编码。 这是我尝试过的。

View.xml:

<列表id =" Aprovalmat"项目=" {路径:'/TRANS_MATSet',

过滤器:[

{path:'Pa',operator:'EQ',value1:'ALG1'},

{path:'PfNum',operator:'EQ',value1:'4045'},

{path:'Psa',operator:'EQ',value1:'AL01'}]}">

当" value1"字段为静态时,此方法工作正常。 但是现在,我需要将动态值传递给'value1'字段。 我将代码更改为以下内容:

View.xml:

Controller.js:

var list = sap.ui.getCore()。byId(" Aprovalmat");

var oItems = new sap.m.ObjectListItem({title:" {Name}",number:" {Designation}",numberUnit:"",类型:" Active"});

var oFilters = [new sap.ui.model.Filter(" Pa",sap.ui.model.FilterOperator.EQ,pacode),

新的sap.ui.model.Filter(" PfNum",sap.ui.model.FilterOperator.EQ,pfcode),

new sap.ui.model.Filter(" Psa",sap.ui.model.FilterOperator.EQ,psacode)]; list.bindItems("/img/TRANS_MATSet",oItems,oFilters);

我遇到将数据绑定到列表的问题,但无法实现。

有人可以帮我吗?

感谢与问候,

Ramya

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我有一个列表,我需要根据传递给它的过滤器值动态加载列表。 我使用XML视图进行编码。 这是我尝试过的。

View.xml:

<列表id =" Aprovalmat"项目=" {路径:'/TRANS_MATSet',

过滤器:[

{path:'Pa',operator:'EQ',value1:'ALG1'},

{path:'PfNum',operator:'EQ',value1:'4045'},

{path:'Psa',operator:'EQ',value1:'AL01'}]}">

当" value1"字段为静态时,此方法工作正常。 但是现在,我需要将动态值传递给'value1'字段。 我将代码更改为以下内容:

View.xml:

Controller.js:

var list = sap.ui.getCore()。byId(" Aprovalmat");

var oItems = new sap.m.ObjectListItem({title:" {Name}",number:" {Designation}",numberUnit:"",类型:" Active"});

var oFilters = [new sap.ui.model.Filter(" Pa",sap.ui.model.FilterOperator.EQ,pacode),

新的sap.ui.model.Filter(" PfNum",sap.ui.model.FilterOperator.EQ,pfcode),

new sap.ui.model.Filter(" Psa",sap.ui.model.FilterOperator.EQ,psacode)]; list.bindItems("/img/TRANS_MATSet",oItems,oFilters);

我遇到将数据绑定到列表的问题,但无法实现。

有人可以帮我吗?

感谢与问候,

Ramya

付费偷看设置
发送
5条回答
四川大学会员
1楼 · 2020-09-29 17:34.采纳回答

您必须在控制器中执行此操作,而不能在xml绑定中执行

路亽曱_Ryan
2楼-- · 2020-09-29 17:33

感谢Jun Wu。

clasier
3楼-- · 2020-09-29 17:34

您好,Ramya,

您可以尝试以下操作吗?

 var list = sap.ui.getCore(  ).byId(" Aprovalmat");
 var oItems = new sap.m.ObjectListItem({
     标题:" {Name}",
     数字:" {Designation}",
     numberUnit:"",
     类型:"有效"
 });
 var oFilters = [new sap.ui.model.Filter(" Pa",sap.ui.model.FilterOperator.EQ,pacode),
     新的sap.ui.model.Filter(" PfNum",sap.ui.model.FilterOperator.EQ,pfcode),
     新的sap.ui.model.Filter(" Psa",sap.ui.model.FilterOperator.EQ,psacode)
 ];
 list.bindAggregation(" items",{
     路径:"/img/TRANS_MATSet",
     模板:oItems,
     过滤器:oFilters
 });
 

问候,

Sai。

SAP小黑
4楼-- · 2020-09-29 17:30

嗨,穆拉利,

感谢您的回复。 就像您说的那样,我尝试了以下方法。 " "" list.bindItems("/img/TRANS_MATSet",oItems,null,oFilters);"

但是我收到一个错误:"无法读取未定义的属性'bindItems'。

如何解决此错误?

95年老男孩
5楼-- · 2020-09-29 17:39

list.bidnItems()中的第三个参数是排序器。 你能这样尝试吗?

 list.bindItems("/img/TRANS_MATSet",oItems,null,oFilters); 

一周热门 更多>