如何将智能表的选择列绑定到OData模型

2020-08-18 17:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我添加了一个智能表,它处于多选择...

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

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


我添加了一个智能表,它处于多选择模式。 一切正常。 除了我想将行选择复选框绑定到我的oData服务中的属性。 当前,如果他们选择了一些行,我会将他们选择的行发送到后端,然后odata服务将记录更新为" checked = true"。 当他们重新访问该记录时,我希望将选择复选框绑定到oData模型中的true/false属性(类似于ALV中的工作方式)

视图中的SmartTable

 
 
 

onBeforeRebindTable函数(我一直在尝试通过编程方式设置_onBindingDataReceivedListener函数中的复选框,但我也没有取得多大成功,addSelectedIntervals()似乎在 该功能是一个循环遍历各行,查看该属性是否为true并将该行设置为selected的方法,但我也无法使其正常工作。

 onBeforeRebindTable:函数(oEvent){
 var oBindingParams = oEvent.getParameter(" bindingParams");
 oBindingParams.parameters.threshold = 50000;
 oBindingParams.parameters.countMode ="内联";
 oBindingParams.parameters.operationMode ="服务器";
 oBindingParams.parameters.numberOfExpandedLevels = 1;
 var oFilter = new sap.ui.model.Filter(" RootNodeId",sap.ui.model.FilterOperator.EQ,this._oGUID);
 oBindingParams.filters.push(oFilter);
 this.addBindingListener(oBindingParams," dataReceived",this._onBindingDataReceivedListener.bind(this));
 

这里的想法是,如果odata属性" checked = true",则将对其进行检查。

我还试图将以下内容添加到我的smarttable中。 想法是添加一个新的自定义列,并将复选框字段绑定到该列。 除不再显示树表外,此方法有效。

 
    <表:列>
       
          
    
 
 

(10.6 kB)