SAPUI5表组合框:无法显示所选项目的描述

2020-09-20 23:07发布

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

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

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


专家您好,

这可能很容易做到,但是作为一个新手,我有些困惑。

我有一个绑定到数据库表 A(未命名模型)的SAPUI5表(sap.ui.table.Table)。 组合框使用 selectedKey 属性绑定到表中相应字段的值,并将项模板绑定到表 B 命名模型:f4 (表 A 中的字段文本所在的位置),请参见以下代码:

this.oRoleTable.addColumn(new sap.ui.table.Column({

标签:new sap.m.Label({text:" Agreement Role ID"}),

模板:新的sap.m.ComboBox({

id:" cbRoleType",

selectedKey:" {AgrRoletpid}",

项目:{路径:" f4>/Role_TypesSet",

模板:oRoleItemTemplate,

templateShareable:" false"}})

}));

从下面的快照中可以看到,selectedKey属性看起来不起作用-出于测试原因,附加的最后一列包含与所选键对应的值,在本例中为 {AgrRoletpid}

对于选定的键值未填充感到沮丧。 尝试了一个发现的技巧,该技巧看起来像是对控件的附加绑定,是对上面语句的补充

this.oRoleTable.addColumn(new sap.ui.table.Column({

标签:new sap.m.Label({text:" Agreement Role ID"}),

模板:新的sap.m.ComboBox({

id:" cbRoleType",

selectedKey:" {AgrRoletpid}",

项目:{路径:" f4>/Role_TypesSet",

模板:oRoleItemTemplate,

templateShareable:" false"}}) .bindProperty(" value"," AgrRoletpid")

}));

现在正在发生某些事情,但并不是我所期望的。 组合中显示了实际值,问题在于,我应该看到说明(而不是值)(请参见图2)。 现在,我没有选择文本"角色1",而是有了它的密钥(301 = Role 1)

从上面显而易见,我要做的就是显示来自表 B 的文本并将键绑定到表 A 以保存该值。 应该很简单,但似乎我在这里缺少任何帮助吗?

最诚挚的问候,

格雷格(发疯了)

@ VIPLOVE KHUSHALANI :创建项目模板。 表绑定代码:

项目模板:

  var oRoleItemTemplate = new sap.ui.core.ListItem({键:" {f4> AgrRoletpId}",文本:" {f4> AgrRoletptxt}"}));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" Agreement ID"}),
             模板:new sap.m.Text({text:" {AgrRoleid}"})
             }));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" Agreement Role ID"}),
             模板:新sap.m.ComboBox({
                                 id:" cbRoleType",
                                 selectedKey:" {AgrRoletpid}",
                                //selectedItemId:" {AgrRoletptxt}",
                                 项目:{
                                     路径:" f4>/Role_TypesSet",
                                     模板:oRoleItemTemplate,
                                     templateShareable:"假"}
                     })。bindProperty(" value"," AgrRoletpid")
             }));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" Valid From"}),
             模板:new sap.m.Text({text:" {path:'ValidFrom',type:'sap.ui.model.type.Date',formatOptions:{style:'medium',strictParsing:true}}"}  )
             }));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" Valid To"}),
             模板:new sap.m.Text({text:" {path:'ValidTo',type:'sap.ui.model.type.Date',formatOptions:{style:'medium',strictParsing:true}}"}  )
             }));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" Staff Type ID"}),
             模板:new sap.m.Text({text:" {StaffTypeid}"})
             }));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" Staff ID"}),
             模板:new sap.m.Text({text:" {StaffId}"})
             }));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" First name"}),
             模板:new sap.m.Text({text:" {FirstName}"})
             }));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" Last Name"}),
             模板:new sap.m.Text({text:" {LastName}"})
             }));

             this.oRoleTable.addColumn(new sap.ui.table.Column({
             标签:new sap.m.Label({text:" TEST"}),
             模板:new sap.m.Text({text:" {AgrRoletpid}"})
             }));  
表绑定(不确定在进行动态绑定之后是否仍需要模板,但是无论有无行为)

  var roleKey =" Agreement_Roles";
 this.oRoleTable.bindRows({
 路径:roleKey,
 模板:oTemplate,
 templateShareable:false});
 
  

comboerror1.jpg (157.3 kB)
2条回答
宇峰科技
2020-09-20 23:49

你好,

在视图中无法正常使用后,我切换到在上面附带的控制器,表和模型绑定代码中创建模板,谢谢。

一周热门 更多>