点击此处---> 群内免费提供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。
感谢您的帮助。
谢谢
蒂姆
您好 Tim Krause ,
您要将数据附加到列表中的位置 在master2 controller.js中?
谢谢
Viplove
嗨,蒂姆,
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 p>
Hello Tim
您是否尝试在过滤后刷新模型和绑定?
this.getView()。getModel(" myModel")。refresh ();
希望这会有所帮助
Antonette
一周热门 更多>