2017-02-15 2 views
0

С помощью этого кода я хочу, чтобы создать 4 VBoxes в одном HBoxVBox в HBox через контроллер

 var count= 4; 

     var hbox = new sap.m.HBox("HBox", { 
      width: "100%" 
     }); 

     for(var i = 0; i <= count; i++){ 
      new sap.m.VBox("V_" + i, { 
       width: "100px", 
       height: "200px", 
      }).placeAt(hbox); 
     }; 
     this.getView().byId("myContainer").addContent(hbox); 

Но есть только HBox без Vboxes. Есть идеи?

ответ

0

Пожалуйста, посмотрите в jsbin example, это макет, что вы ищете?

var oLabelA = new sap.m.Label({text:"A"}); 
var oLabelB = new sap.m.Label({text:"B"}); 
var oLabelC = new sap.m.Label({text:"C"}); 
var oLabelD = new sap.m.Label({text:"D"}); 

var oVbox1 = new sap.m.VBox({width: "100%"}); 
var oVbox2 = new sap.m.VBox({width: "100%"}); 
var oVbox3 = new sap.m.VBox({width: "100%"}); 
var oVbox4 = new sap.m.VBox({width: "100%"}); 

oVbox1.addItem(oLabelA); 
oVbox2.addItem(oLabelB); 
oVbox3.addItem(oLabelC); 
oVbox4.addItem(oLabelD); 

var hbox = new sap.m.HBox({ width: "100%"}); 

hbox.addItem(oVbox1); 
hbox.addItem(oVbox2); 
hbox.addItem(oVbox3); 
hbox.addItem(oVbox4); 
0

Проблема с кода вы использовали функцию Placeat поместить элемент управления. Функция placeAt используется для размещения элемента управления SAPUI5 в элементе HTML DOM или в элементе управления, если он имеет агрегацию под названием , содержащую, однако для ее размещения в других агрегатах вы будете использовать конкретный сеттер/получатель & функции добавления/удаления ,

HBox в этом случае расширяет элемент управления FlexBox, который содержит элементов агрегации. Таким образом, у него будет метод addItem для добавления элемента управления.

var count = 4; 

     var hbox = new sap.m.HBox("HBox", { 
      width: "100%" 
     }); 

     for (var i = 0; i <= count; i++) { 
      hbox.addItem(new sap.m.VBox("V_" + i, { 
       width: "100px", 
       height: "200px", 
      })); 
     }; 
     this.getView().byId("myContainer").addContent(hbox); 
Смежные вопросы