将模型发送到表时出现问题

2020-08-22 07:38发布

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

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


您好,社区,我有一个问题需要尽快解决。 我的问题是我将模型发送到表中,但什么也没显示。 就像这样的过程,您将看到详细信息并返回,然后触发一个方法:

 changeDateEJCC:函数(oEvent){
 var oDate0 = this.byId(" __ picker1_enej");
 var oDate1 = this.byId(" __ picker2_enej");
 var fecha0 = oDate0.getDateValue();
 var fecha1 = oDate1.getDateValue();
 var that = this;
 var arrayDATA = [];
 var filterArray = [];

 如果(fecha0!== null && fecha1!== null){
 如果(fecha0> fecha1){
 var msg ='Fecha DESDE no debe ser mayor fecha HASTA';
 sap.m.MessageToast.show(msg);
 返回false;
 }其他{
 var oFilterEJCC = new sap.ui.model.Filter({
 路径:" UStatus",
 运算子:sap.ui.model.FilterOperator.EQ,
 值1:" EJCC"
 });
 var oFilterDate = new sap.ui.model.Filter({
 路径:" StartDate",
 运算子:sap.ui.model.FilterOperator.BT,
 值1:fecha0,
 值2:fecha1
 });
 filterArray.push(oFilterEJCC);
 filterArray.push(oFilterDate);
 }
 }其他{
/* var msg ='显示随机指标的DESDE-HASTA';
 sap.m.MessageToast.show(msg);
 返回false; */
 返回true;
 }
 this.setBusyById(" lista3",true);
 var list = that.getView()。byId(" lista3");
 var fnVarSuccess =函数(oData,响应){
 that.setBusyById(" lista3",false);
 如果(oData.results.length == 0){
 sap.m.MessageToast.show("没有任何限制。...");
 list.setModel(null);
 that.setBusyById(" lista3",false);
 返回false;
 }
 for(var i = 0; i 
 

如果您注意到,方法changeDateEJCC会被调用,并会调用onCallReadOdata,因此如果可以,请转到fnVarSuccess,这里我的模型有数据,但是我将其发送到表中,没有任何东西:c

我的观点:

 
 <内容>
  
 <!-Fiori的版本,多路输入法->
 <表busyIndi​​catorDelay =" {worklistView>/tableBusyDelay}"" class =" sapUiResponsiveMargin" growth =" true" growthScrollToLoad =" true"
 id =" lista3" items =" {/}" noDataText ="不存在Ordenes PM para el criterio指标..." visibleRowCount =" 1" updateFinished =" countLoader">
 
 
 <内容>
 

有什么主意吗? 我试图在调用feedFacetFilterEJCC之前更改我的模型分配,但没有任何帮助:c我非常绝望

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

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


您好,社区,我有一个问题需要尽快解决。 我的问题是我将模型发送到表中,但什么也没显示。 就像这样的过程,您将看到详细信息并返回,然后触发一个方法:

 changeDateEJCC:函数(oEvent){
 var oDate0 = this.byId(" __ picker1_enej");
 var oDate1 = this.byId(" __ picker2_enej");
 var fecha0 = oDate0.getDateValue();
 var fecha1 = oDate1.getDateValue();
 var that = this;
 var arrayDATA = [];
 var filterArray = [];

 如果(fecha0!== null && fecha1!== null){
 如果(fecha0> fecha1){
 var msg ='Fecha DESDE no debe ser mayor fecha HASTA';
 sap.m.MessageToast.show(msg);
 返回false;
 }其他{
 var oFilterEJCC = new sap.ui.model.Filter({
 路径:" UStatus",
 运算子:sap.ui.model.FilterOperator.EQ,
 值1:" EJCC"
 });
 var oFilterDate = new sap.ui.model.Filter({
 路径:" StartDate",
 运算子:sap.ui.model.FilterOperator.BT,
 值1:fecha0,
 值2:fecha1
 });
 filterArray.push(oFilterEJCC);
 filterArray.push(oFilterDate);
 }
 }其他{
/* var msg ='显示随机指标的DESDE-HASTA';
 sap.m.MessageToast.show(msg);
 返回false; */
 返回true;
 }
 this.setBusyById(" lista3",true);
 var list = that.getView()。byId(" lista3");
 var fnVarSuccess =函数(oData,响应){
 that.setBusyById(" lista3",false);
 如果(oData.results.length == 0){
 sap.m.MessageToast.show("没有任何限制。...");
 list.setModel(null);
 that.setBusyById(" lista3",false);
 返回false;
 }
 for(var i = 0; i 
 

如果您注意到,方法changeDateEJCC会被调用,并会调用onCallReadOdata,因此如果可以,请转到fnVarSuccess,这里我的模型有数据,但是我将其发送到表中,没有任何东西:c

我的观点:

 
 <内容>
  
 <!-Fiori的版本,多路输入法->
 <表busyIndi​​catorDelay =" {worklistView>/tableBusyDelay}"" class =" sapUiResponsiveMargin" growth =" true" growthScrollToLoad =" true"
 id =" lista3" items =" {/}" noDataText ="不存在Ordenes PM para el criterio指标..." visibleRowCount =" 1" updateFinished =" countLoader">
 
 
 <内容>
 

有什么主意吗? 我试图在调用feedFacetFilterEJCC之前更改我的模型分配,但没有任何帮助:c我非常绝望

付费偷看设置
发送
2条回答
槿木_熙
1楼-- · 2020-08-22 08:37

Hi

在视图的控制器中-渲染之前-

将模型设置为视图。

并将实体集绑定到表

问候,

Venkat

小熊yu生菜
2楼-- · 2020-08-22 08:28

嗨, Naoto Amari

选项1:使用ODataModel作为表的模型您可以重构代码以将ODataModel直接绑定到表:

  • 定义模型:在清单(位于sap.ui5.models下)和相应的dataSource(位于sap.app.dataSources下),或者直接位于控制器
  • 将EntitySet路径绑定为聚合到您的 sap.m.Table(或聚合 sap.ui.table.Table)
 <表id =" lista3"项目="/img/ZRFC_LISTAORDEN2Set"> 

要过滤表格,请使用自己的过滤器(过滤),或使用SmartTable代替Table并执行带有注释的元数据库过滤

选项2:要使用JSONModel进行绑定,请在Controller中创建JSONModel并将该模型绑定到Table,仅修改模型的数据。 修改模型数据后,调用 model.refresh() 更新您的表控件列表a3:

 oListaModel:新的JSONModel({elementos:[]}),
 onInit:function(){
     this.getView()。byId('lista3')。setModel(oListaModel);
 },
 changeDateEJCC:函数(oEvent){
     var fnVarSuccess =函数(oData,响应){
         如果(oData.results.length == 0){
             oListaModel.getData()['elementos'] = [];  "删除所有项目
         }其他{
             oListaModel.getData()['elementos'] = oData.results;  "添加odata响应中的所有项目
         }
         oListaModel.getData()。refresh(); 刷新模型以更新表lista3中的数据
     } 

查看:

 <表id =" lista3" items =" {/elementos}"> 

此致

彼得

一周热门 更多>