我正在嘗試創建一個屏幕,其中有一個Panel
。主Panel
有另一個Panel
和這個Panel
有一個Grid
它有四個HBoxes
,並且每個HBox
最後有一個Button
。無法在運行時創建用戶界面控件
onInit:function(){
oMainPanel.removeAllContent();
var oHbox1 = new sap.m.HBox(jQuery.sap.uid());
var oHbox2 = new sap.m.HBox(jQuery.sap.uid());
var oHbox3 = new sap.m.HBox(jQuery.sap.uid());
var oHbox4 = new sap.m.HBox(jQuery.sap.uid());
var oPanel ;
var oGrid;
for (var i = 0; i < 4; i++) {
oGrid = new sap.ui.layout.Grid(jQuery.sap.uid(),{
hSpacing: 1,
vSpacing: 1,
content: [oHbox1,oHbox2,oHbox3,oHbox4]
});
oPanel = new sap.m.Panel(jQuery.sap.uid(),{
headerText: "Some Text",
expandable: true,
expanded: true,
width:"100%",
content:[oGrid]
});
jQuery.sap.delayedCall(100, this, function() {
});
oMainPanel.addContent(oPanel);
}
我可以看到在每個HBox
的內容,但只在最後Panel
。我認爲這些重疊。如何在所有中顯示所有HBoxes
的內容?
你好胡安, 首先,謝謝。隨着你的解決方案,我的問題已被解決,但只有如果我不使用jQuery.sap.delayedCall。其實我在Hbox而不是按鈕上繪製圖表。所以如果我不給出延遲,我不能渲染圖表,如果我給出延遲,圖表正在爲最後一行創建。 –
我通過使用forEach而不是for循環來解決此問題。 –