SAPUI5:刷新表中的数据。

2020-09-27 08:00发布

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

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


专家们,

我需要一个按钮来刷新后端(SAP网关)的Ui5-Table中的数据,当前用于测试即时消息是按我的"后退"按钮,而不是转到"页面"按钮。

如何实现与单个按钮相同的结果?

我尝试了oODataModel.refresh(true); 但这不起作用。

我的代码在下面。

关于Jan

 onInit:function(){
//定义服务URL
 var sServiceURL ="/img/sap/opu/odata/SAP/ZPCC_PT_MONITOR_SRV/";
//创建OData模型的实例
 var oODataModel = new sap.ui.model.odata.v2.ODataModel(sServiceURL,{
 json:是的,
 tokenHandling:是的,
 refreshAfterChange:是​​的,
 useBatch:是的,
 defaultBindingMode:sap.ui.model.BindingMode.TwoWay,
 defaultCountMode:"内联"
 });

//在视图上设置模型
 this.getView()。setModel(oODataModel);
 this.getView()。addEventDelegate({
 onBeforeShow:function(oControlEvent){
 var oGlobalJSONModel = sap.ui.getCore()。getModel(" globalModel");
//通过其id获取表
 var oTableNodeEvents = sap.ui.getCore()。byId(" TableNodeEvents");
 sap.ui.getCore()。byId(" tableTitle")。setText(oGlobalJSONModel.getProperty("/img/Pname"));; //他的母亲
//设置节点名称为Header Parameter
 oODataModel.setHeaders({
 " Pname":oGlobalJSONModel.getProperty("/img/Pname")
 });
 oODataModel.read("/img/NodeEventsDataSet",{
 成功:功能(oData,响应){
 var oJSONModelForNodeEventsDataSet = new sap.ui.model.json.JSONModel(oData.results);
 oTableNodeEvents.setModel(oJSONModelForNodeEventsDataSet);
 oTableNodeEvents.bindRows("/");
 },
 错误:函数(oError){
//TODO HTTP请求失败,显示错误消息
 }
 });
 }
 });
 },

 handleButtonBackPress:function(oControlEvent){
 var oController = this;

 oController.nav.to(" StartPage");

 },

 handleRefreshButtonPress:function(oControlEvent){
 var oController = this;
 var oODataModel = oController.getView()。getModel();


 oODataModel.refresh(true);

 var oMessageStrip = sap.ui.getCore()。byId(" messageStrip");
 oMessageStrip.setType(sap.ui.core.MessageType.Information);
 oMessageStrip.setText(" {i18n> MessageStripRefresh}")
 oMessageStrip.setVisible(true);

 },
 

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

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


专家们,

我需要一个按钮来刷新后端(SAP网关)的Ui5-Table中的数据,当前用于测试即时消息是按我的"后退"按钮,而不是转到"页面"按钮。

如何实现与单个按钮相同的结果?

我尝试了oODataModel.refresh(true); 但这不起作用。

我的代码在下面。

关于Jan

 onInit:function(){
//定义服务URL
 var sServiceURL ="/img/sap/opu/odata/SAP/ZPCC_PT_MONITOR_SRV/";
//创建OData模型的实例
 var oODataModel = new sap.ui.model.odata.v2.ODataModel(sServiceURL,{
 json:是的,
 tokenHandling:是的,
 refreshAfterChange:是​​的,
 useBatch:是的,
 defaultBindingMode:sap.ui.model.BindingMode.TwoWay,
 defaultCountMode:"内联"
 });

//在视图上设置模型
 this.getView()。setModel(oODataModel);
 this.getView()。addEventDelegate({
 onBeforeShow:function(oControlEvent){
 var oGlobalJSONModel = sap.ui.getCore()。getModel(" globalModel");
//通过其id获取表
 var oTableNodeEvents = sap.ui.getCore()。byId(" TableNodeEvents");
 sap.ui.getCore()。byId(" tableTitle")。setText(oGlobalJSONModel.getProperty("/img/Pname"));; //他的母亲
//设置节点名称为Header Parameter
 oODataModel.setHeaders({
 " Pname":oGlobalJSONModel.getProperty("/img/Pname")
 });
 oODataModel.read("/img/NodeEventsDataSet",{
 成功:功能(oData,响应){
 var oJSONModelForNodeEventsDataSet = new sap.ui.model.json.JSONModel(oData.results);
 oTableNodeEvents.setModel(oJSONModelForNodeEventsDataSet);
 oTableNodeEvents.bindRows("/");
 },
 错误:函数(oError){
//TODO HTTP请求失败,显示错误消息
 }
 });
 }
 });
 },

 handleButtonBackPress:function(oControlEvent){
 var oController = this;

 oController.nav.to(" StartPage");

 },

 handleRefreshButtonPress:function(oControlEvent){
 var oController = this;
 var oODataModel = oController.getView()。getModel();


 oODataModel.refresh(true);

 var oMessageStrip = sap.ui.getCore()。byId(" messageStrip");
 oMessageStrip.setType(sap.ui.core.MessageType.Information);
 oMessageStrip.setText(" {i18n> MessageStripRefresh}")
 oMessageStrip.setVisible(true);

 },
 
付费偷看设置
发送
1条回答
三十六小时_GS
1楼 · 2020-09-27 08:45.采纳回答

嗨,

如果您使用过sap.ui.table.Table,请尝试以下操作:

 oTable.getBinding(" rows")。refresh(); 

否则,如果您使用过sap.m.Table,请尝试以下操作:

 oTable.getBinding(" items")。refresh(); 

此致

拉胡尔

一周热门 更多>