2017-08-11 47 views
0

列我有问题与元件的对准设计内表

我有sap.m.Table和表中的内部我有sap.m.InputListItem

var tbl= new sap.m.Table({ 
       width: "100%", 
       headerToolbar: new sap.m.Toolbar({ 
        content: [ 
         new sap.ui.core.Icon({ 
          src : "nav-back", 
          press: this.onNavBack.bind(this) 
         }) 
         , new sap.m.Title({ 
          text: this.roleDetail 
         })] 
       }), 
       columns: [new sap.m.Column({ 
        header: new sap.m.Text({ 
         text: " Menu" 
        }) 
       }), 
        new sap.m.Column({ 
         header: new sap.m.Text({ 
          text: " App" 
         }) 
        }) 
       ], 
       items: [ 
        fieldOfColumnItems 
       ] 
      }); 

在循环我填补这个可变fieldOfColumnItems

fieldOfColumnItems.push(new sap.m.ColumnListItem({ 
        cells: [menu[i], menuItems[i]] 
       })) 

enter image description here

如何让这些下拉菜单位于右侧?我希望它看起来不错。 任何想法?

+0

'sap.m.Column'有属性'hAlign'。它会将列中的元素向右推。那是你需要的吗?检查:https://openui5beta.hana.ondemand.com/1.34.9/docs/api/symbols/sap.m.Column.html#getHAlign –

+0

顺便说一句:考虑使用XML视图,它们更具可读性和可重用性。 _或者有没有什么好的理由在你的情况下使用js-views?_ – inetphantom

回答

1

使用sap.m.FlexBox:

... 
    var oTable = new sap.m.Table({ 
    columns: [ 
     new sap.m.Column({ 
     header: new sap.m.Text({ 
      text: "Menu" 
     }) 
     }), 
     new sap.m.Column({ 
     header: new sap.m.Text({ 
      text: "App" 
     }) 
     }) 
    ], 
    items: [ 
     new sap.m.ColumnListItem({ 
     cells: [ 
      new sap.m.FlexBox({ 
      justifyContent: "SpaceBetween", 
      alignItems: "Center", 
      items: [ 
       new sap.m.Label({ 
       text: "foo" 
       }), 
       new sap.m.Select({ 
       items: [ 
        new sap.ui.core.Item({ 
        text: "bar" 
        }) 
       ] 
       }), 
      ] 
      }) 
     ] 
     }), 
     new sap.m.ColumnListItem({ 
     cells: [ 
      new sap.m.FlexBox({ 
      justifyContent: "SpaceBetween", 
      alignItems: "Center", 
      items: [ 
       new sap.m.Label({ 
       text: "longerfoo" 
       }), 
       new sap.m.Select({ 
       items: [ 
        new sap.ui.core.Item({ 
        text: "barfits" 
        }) 
       ] 
       }), 
      ] 
      }) 
     ] 
     }) 
    ] 
    }); 
... 

executable example

加上:

因您的评论:

fieldOfColumnItems.push(
    new sap.m.ColumnListItem({ 
    cells: [ 
     new.sap.m.FlexBox({ 
     justifyContent: "SpaceBetween", 
     alignItems: "Center", 
     items: [ 
      menu[i], 
      menuItems[i] 
     ] 
     }) 
    ] 
    }) 
) 
+0

不知道如何将这个应用到我的解决方案...尝试,但没有结果 – dtechlearn

+0

..它工作吗? – n01dea

+0

不,它不起作用 – dtechlearn