2016-05-23 84 views
1

這是我的代碼,它不工作。我們如何在SAPUI5中爲按鈕創建或設置動態「ID」?

var that = this; 
otable.bindItems("/", new sap.m.ColumnListItem({ 
    cells: [new sap.m.Button({ 
     text: "Hello", 
     id: "buttonid", 
     press: [that.handleButtonPress, this] 
    })] 
})); 
otable.setModel("data"); 

handleButtonPress: function() { 
    var Button_ = this.getView().byId("buttonid"); 
} 

如何設置動態ID?

回答

0

IdButton構造函數的第一個參數。

var oButton = new sap.m.Button("id", { 
    text: "myButton" 
}); 
0

如果您沒有提供id爲Control的構造函數,則會自動生成一個id。然後,您可以使用事件參數訪問按下的按鈕:

var that = this; 
otable.bindItems("/", new sap.m.ColumnListItem({ 
    cells: [new sap.m.Button({ 
     text: "Hello", 
     press: [that.handleButtonPress, this] 
    })] 
})); 
otable.setModel("data"); 

handleButtonPress: function (oEvent) { 
    var Button_ = oEvent.getSource(); 
} 
1

要創建一個動態的ID,你將不得不在你的聚集結合使用factory function

oTable.bindItems("/", function(sId, oContext) { 
    return new sap.m.ColumnListItem({ 
     cells: [ 
     new sap.m.Button("yourDynamicID", { 
      text: "Hello", 
      press: [that.handleButtonPress, this] 
     }) 
     ] 
    }; 
}); 
+1

謝謝你,也可以我使用* * id:this.createId(「ButtonId」); **在sap.m.Button中設置動態編號 –

+0

你說得對。 this.createId將考慮視圖ID前綴。如果答案是正確的或有幫助的,你可以接受它是正確的或積極的。 – cschuff

+0

謝謝@cschuff的反饋意見 –

相關問題