SAPUI5列表项未更新

2020-09-30 04:37发布

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

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


嗨,

我正在使用master-master-detail应用。 我在第一个主屏幕上有一个选择字段,然后从那里我要导航到master2,使用master1屏幕中选择字段中的值设置过滤器,从后端获取数据并将其显示在master2屏幕中。/p>

我在master1.js中的代码

 var json = {};
 json.soldTo = this.getView()。byId(" SoldToInput")。getValue();
 this.myModel.setData(json);
 sap.ui.getCore()。setModel(this.myModel," myModel"); 

我在master2.js中的代码:

 var that = this;
 this.oModel = sap.ui.getCore()。getModel(" myModel");
 this.getView()。setModel(this.oModel);
 var searchString = this.oModel.getProperty("/img/soldTo");
//卖给过滤器
 var filter = [];
 如果(searchString && searchString.length> 0){
 过滤器= [new sap.ui.model.Filter(" Kunnr",
 sap.ui.model.FilterOperator.Contains,searchString)];
 }
//更新列表绑定
 this.getView()。byId(" master2List")。getBinding(" items")。filter(filters); 

和使用master2List的master2.xml

 <列表id =" master2List"项目=" {/SalesOrderHdrSet}"模式=" {设备>/listMode}" select =" onSelect"
         growth =" true" growthScrollToLoad =" true" visible =" true">
 

问题是,我可以在master2控制器中看到选择字段的值,并且过滤器设置为ok,但是列表绑定未更新,因此未从后端检索数据。 与我设置的myModel有关吗? 我正在使用的myModel只是用于将值从master1转换为master2。

感谢您的帮助。

谢谢

蒂姆

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

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


嗨,

我正在使用master-master-detail应用。 我在第一个主屏幕上有一个选择字段,然后从那里我要导航到master2,使用master1屏幕中选择字段中的值设置过滤器,从后端获取数据并将其显示在master2屏幕中。/p>

我在master1.js中的代码

 var json = {};
 json.soldTo = this.getView()。byId(" SoldToInput")。getValue();
 this.myModel.setData(json);
 sap.ui.getCore()。setModel(this.myModel," myModel"); 

我在master2.js中的代码:

 var that = this;
 this.oModel = sap.ui.getCore()。getModel(" myModel");
 this.getView()。setModel(this.oModel);
 var searchString = this.oModel.getProperty("/img/soldTo");
//卖给过滤器
 var filter = [];
 如果(searchString && searchString.length> 0){
 过滤器= [new sap.ui.model.Filter(" Kunnr",
 sap.ui.model.FilterOperator.Contains,searchString)];
 }
//更新列表绑定
 this.getView()。byId(" master2List")。getBinding(" items")。filter(filters); 

和使用master2List的master2.xml

 <列表id =" master2List"项目=" {/SalesOrderHdrSet}"模式=" {设备>/listMode}" select =" onSelect"
         growth =" true" growthScrollToLoad =" true" visible =" true">
 

问题是,我可以在master2控制器中看到选择字段的值,并且过滤器设置为ok,但是列表绑定未更新,因此未从后端检索数据。 与我设置的myModel有关吗? 我正在使用的myModel只是用于将值从master1转换为master2。

感谢您的帮助。

谢谢

蒂姆

付费偷看设置
发送
3条回答
昵称总是被占用
1楼 · 2020-09-30 05:07.采纳回答

您好 Tim Krause

您要将数据附加到列表中的位置 在master2 controller.js中?

谢谢

Viplove

落灬小鱼
2楼-- · 2020-09-30 05:14

嗨,蒂姆,

var过滤器= [];

表示 变量过滤器是一个数组。 因此,不要分配类似的过滤器= [new sap.ui.model.Filter(" Vbeln",sap.ui.model.FilterOperator.Contains,orderNo)],因为这将覆盖过滤器中的先前值,您应该使用push() 数组方法。

过滤器= [new sap.ui.model.Filter(" Vbeln",sap.ui.model.FilterOperator.Contains,orderNo)]//错误的方式

filters.push (新的sap.ui.model.Filter(" Vbeln",sap.ui.model.FilterOperator.Contains,orderNo));//正确的方法

感谢

Viplove

南山jay
3楼-- · 2020-09-30 04:59

Hello Tim

您是否尝试在过滤后刷新模型和绑定?

this.getView()。getModel(" myModel")。refresh ();

希望这会有所帮助

Antonette

一周热门 更多>