sapui5模型读取表未更新

2020-09-24 21:29发布

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

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


你好

我正在构建我的第一个fiori-app。

我唯一的问题是,表中的数据没有显示-仅在第一次显示。

我搜索了这个问题,并找到了很多答案-但这仍然行不通。

在我的onSearch中,我执行模型。读取

因此所有数据都应该在模型中。 并将模型绑定到表。

从我的get_entityset中正确返回了数据(已将其记录到控制台)

为什么表数据仅在第一次显示?

我尝试了.refresh()和互联网上其他一些解决方案。

我认为我有一些要成功的代码:功能...

非常感谢您的帮助

我的控制器:

sap.ui.define([" sap/ui/core/mvc/Controller"],function(Controller){
" use strict";

返回Controller.extend(" zfi_sako_ausk。 controller.View1",{
onInit:function(){
var oDataUrl ="/img/sap/opu/odata/sap/ZFI_SAKO_AUSK​​_SRV/";
var ODataModel =新的sap.ui.model.odata。 v2.ODataModel(oDataUrl);
this.getView()。byId(" SachkontenTab")。setModel(ODataModel);
var oDataUrlBukrs ="/img/sap/opu/odata/sap/ZFI_BUKRS_SRV/";
var ODataModelBukrs =新的sap.ui.model.odata.v2.ODataModel(oDataUrlBukrs);
this.getView()。byId(" cbBukrs")。setModel(ODataModelBukrs);
},
< br> onSearch:function(){
var oModel = this.getView()。byId(" SachkontenTab")。getModel();
var bukrs = this.getView()。byId(" cbBukrs")。 getSelectedKey();
var suchbegriff = this.getView()。byId(" searchField")。getValue();
var allFilters = [];
allFilters.push(new sap.ui.model。 Filter(" Bukrs",sap.ui.model.FilterOperator.EQ,bukrs));
allFilters.push(新sap.ui.model.Filter(" Txt50Skat",sap.ui.m odel.FilterOperator.EQ,诸如此类));
oModel.read("/img/SachkontenSet",{
过滤器:allFilters,
成功:function(){

},
错误:function(){
sap.m.MessageToast.show(" Fehler bei read Sachkontenset");
}
});

}

}) ;
});

部分视图:

<表id =" SachkontenTab"项目=" {/SachkontenSet}" enableCellFilter =" true">
<列>




<文本text =" Sachkonto"/>






















<文本text =" {Ktopl}"/>



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

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


你好

我正在构建我的第一个fiori-app。

我唯一的问题是,表中的数据没有显示-仅在第一次显示。

我搜索了这个问题,并找到了很多答案-但这仍然行不通。

在我的onSearch中,我执行模型。读取

因此所有数据都应该在模型中。 并将模型绑定到表。

从我的get_entityset中正确返回了数据(已将其记录到控制台)

为什么表数据仅在第一次显示?

我尝试了.refresh()和互联网上其他一些解决方案。

我认为我有一些要成功的代码:功能...

非常感谢您的帮助

我的控制器:

sap.ui.define([" sap/ui/core/mvc/Controller"],function(Controller){
" use strict";

返回Controller.extend(" zfi_sako_ausk。 controller.View1",{
onInit:function(){
var oDataUrl ="/img/sap/opu/odata/sap/ZFI_SAKO_AUSK​​_SRV/";
var ODataModel =新的sap.ui.model.odata。 v2.ODataModel(oDataUrl);
this.getView()。byId(" SachkontenTab")。setModel(ODataModel);
var oDataUrlBukrs ="/img/sap/opu/odata/sap/ZFI_BUKRS_SRV/";
var ODataModelBukrs =新的sap.ui.model.odata.v2.ODataModel(oDataUrlBukrs);
this.getView()。byId(" cbBukrs")。setModel(ODataModelBukrs);
},
< br> onSearch:function(){
var oModel = this.getView()。byId(" SachkontenTab")。getModel();
var bukrs = this.getView()。byId(" cbBukrs")。 getSelectedKey();
var suchbegriff = this.getView()。byId(" searchField")。getValue();
var allFilters = [];
allFilters.push(new sap.ui.model。 Filter(" Bukrs",sap.ui.model.FilterOperator.EQ,bukrs));
allFilters.push(新sap.ui.model.Filter(" Txt50Skat",sap.ui.m odel.FilterOperator.EQ,诸如此类));
oModel.read("/img/SachkontenSet",{
过滤器:allFilters,
成功:function(){

},
错误:function(){
sap.m.MessageToast.show(" Fehler bei read Sachkontenset");
}
});

}

}) ;
});

部分视图:

<表id =" SachkontenTab"项目=" {/SachkontenSet}" enableCellFilter =" true">
<列>




<文本text =" Sachkonto"/>






















<文本text =" {Ktopl}"/>



付费偷看设置
发送
1条回答
spaceman01
1楼 · 2020-09-24 21:37.采纳回答

您无需显式调用read方法,只需通过将过滤器标准作为过滤器来刷新模型绑定即可。

在您的搜索方法中尝试以下操作:

var oTable = this.getView()。byId(" SachkontenTab");

var oBinding = oTable.getBinding(" items");

var bukrs = this.getView()。byId(" cbBukrs")。getSelectedKey();
var suchbegriff = this.getView()。byId(" searchField")。getValue();
var allFilters = [];
allFilters.push(新sap.ui.model.Filter(" Bukrs",sap.ui.model.FilterOperator.EQ,bukrs));
allFilters.push(新sap.ui .model.Filter(" Txt50Skat",sap.ui.model.FilterOperator.EQ,suchbegriff));

oBinding.filter(new sap.ui.model.Filter(allFilters,true));

一周热门 更多>