类型的OData绑定问题

2020-08-28 13:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)因此,我有一个xml视图以及一个...

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

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


因此,我有一个xml视图以及一个包含一些列的表。 我在controller.js中执行odata连接(V4),并使用表ID将数据绑定到sap.m.table。 如果我知道正确的话,那么odata绑定将从元数据中获取数据的类型,这很好,但是我始终会遇到以下错误:

元素sap.m.Text#idView1--text0-idView1--table0-0'的属性'text'中的
 FormatException:类型'sap.ui.model.odata.type.Raw'不支持格式化
 提示:复合绑定中和绑定表达式中引用的单个属性会自动转换为绑定控件属性的类型,除非指定了不同的" targetType"。  targetType:"任意"可能会避免转换并导致预期的行为。  -

无论Edm类型是什么(字符串或Int32)

在js视图中,我都可以定义所需的类型,但是在xml中,我找不到正确的方法。
有我的视图 .xml:

 
     <外壳>
         
             <页面>
                
                 
                 <内容>

                     
                         <项目>
                             
                                 <单元格>
                                     
                                     
                                     />
                                     
                             
                         <列>
                             
                                 <标题>
                                     
                                 <标题>
                                     
                                 <标题>
                                     

和控制器的onInit方法:

 onInit:function(){
         var oModel = new sap.ui.model.odata.v4.ODataModel({
             groupId:" $ direct",
             syncMode:"无",
             serviceUrl:" https://localhost:44315/odata/"
         });
             oModel.setDefaultBindingMode(" OneWay");
         var oTable = this.byId(" table0");
         oTable.setModel(oModel);
 },

 

提前谢谢您!

付费偷看设置
发送
1条回答
野沐沐
1楼-- · 2020-08-28 14:07

是的。 v4.ODataPropertyBinding根据来自$ metadata文档的EDM类型添加了相应的数据类型。 参见 https://stackoverflow.com/a/62884400/5846045

因此,将targetType:'any'应用于那些OData属性绑定信息以关闭自动类型确定。 例如:

 
   
   <!-...->
  
格式:function(value){
   const formattedValue =/*使用fn参数执行某些操作*/;
   返回formattedValue;
 },

如上所示,您可以选择向控制器添加自定义格式器,以在UI中正确显示值。

一周热门 更多>