如何在sap.m.table上处理json和odata服务

2020-08-22 06:10发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 如何一次处理json...

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

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


专家们,

如何一次处理json和odata处理。 在sap.m.table中,我们只能与一个实体集和字段进行绑定。

我有一个包含10列的表,我可以进行json绑定或一一添加行。 在Col 1具有输入字段的情况下,我必须在此基础上输入一些值,以读取odata服务,并应像下一行等一样逐行填充行。

在sap ui5中可以实现这种情况吗?

 <表模式=" SingleSelectMaster"项目=" {keyTransPort>/TestSet}">
  .. 

  
            
           
           
           
           
           
           
           
           
 


 onInit:function(){
 that._data = {
     EntitySet:[{
      sn:1
      col1:",
      col2:",
      col3:",
      col4:",
      col5:",
      col6:",
      col7:",
      col8:",
      col9:"
     },{
      sn:2
      col1:",
      col2:",
      col3:",
      col4:",
      col5:",
      col6:",
      col7:",
      col8:",
      col9:"
     },{
      sn:3,
      col1:",
      col2:",
      col3:",
      col4:",
      col5:",
      col6:",
      col7:",
      col8:",
      col9:"
     }]
    };
    that.jModel = new sap.ui.model.json.JSONModel();
    that.jModel.setData(this._data);
   //that.jModel = new sap.ui.model.json.JSONModel();
   //that.jModel.setData(that._data);
    that.getView()。setModel(that.jModel," keyTransPort");
 }
 控制器代码:

 readTRNumber:function(){
//console.log("请输入TR号。");
  var that = this;
   //var col1 = that.getView()。byId(" __ text2")。getValue();
    var url ="/img/sap/opu/odata/sap/ZS50_TRANS_REQ_APPR_SRV/";
    var allfilters = [
     新的sap.ui.model.Filter({
      路径:" para",
      运算子:sap.ui.model.FilterOperator.EQ,
      值1:" X"
     }),
     新的sap.ui.model.Filter({
      路径:" seqno",
      运算子:sap.ui.model.FilterOperator.EQ,
      值1:" 1"
     }),
     新的sap.ui.model.Filter({
      路径:" para2",
      运算子:sap.ui.model.FilterOperator.EQ,
      值1:" fgh4567"
     })
    ];
    var oModel = new sap.ui.model.odata.v2.ODataModel(url);
    sap.ui.getCore()。setModel(oModel);
    var oModelTRDetails = new sap.ui.model.json.JSONModel();
    oModel.metadataLoaded()。then(function(oSuccess){
     oModel.read("/img/EntitySet",{
      过滤器:所有过滤器,
      成功:函数(oData,oResponse){
       lv_BusyDialog.close();
       var data = oData;
       oModelTRDetails.setData(data);
       that.getView()。setModel(oModelTRDetails," keyTransPort");
      },
      错误:函数(oError){
      //alert(" error");
      }
     });
    },函数(oError){
    });
 }
 

(6.5 kB)