2014-10-07 26 views
1

如何將InPlaceEdit控件分配給通過使用RowRepeater進行數據綁定動態創建的文件的TextField?將InPlaceEdit動態分配給由RowRepeater創建的TextField

基本上,我有這樣的事情:

someRowRepeater.bindRows("/path/to/an/array", new sap.ui.commons.TextField({value: "{value}"}); 

數組是這樣的:

[{text: "some first value"}, {text: "some second value"}, ... ] 

我已經嘗試過的ID添加到每個文本字段,這樣我就可以添加InPlaceEdits使用.byID()onAfterRendering方法中,通過將數組修改爲[{text: "some first value", id: 0}, ...] d的TextField的構造函數爲...TextField({text: "{value}", id: "{value}" + "{id}"});,但後來我得到的錯誤消息是"{value}{id}" is not a valid ID.

有什麼建議嗎?

回答

1

這裏有一個工作示例:

<html> 
    <head> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/> 

     <script src="resources/sap-ui-core.js" 
       id="sap-ui-bootstrap" 
       data-sap-ui-libs="sap.ui.commons,sap.ui.layout,sap.ui.ux3,sap.ui.table,sap.m" 
       data-sap-ui-theme="sap_goldreflection"> 
     </script> 

     <script> 
      var data = {rows: [{text: "some first value"}, {text: "some second value"}]}; 
      var oModel = new sap.ui.model.json.JSONModel(data); 

      var oTable = new sap.ui.table.Table({ 
       title: "Table column and data binding", 
       showNoData : true, 
       columnHeaderHeight : 10, 
      }); 
      oTable.setModel(oModel); 

      oTable.addColumn(new sap.ui.table.Column({ 
       label: "My Column", 
       template: new sap.ui.commons.InPlaceEdit("IPE1",{ 
        content: new sap.ui.commons.TextField({value: "{text}"}) 
       }), 
      })); 

      oTable.bindRows("/rows"); 

      oTable.placeAt("content"); 
     </script> 

    </head> 
    <body class="sapUiBody" role="application"> 
     <div id="content"></div> 
    </body> 
</html> 

希望這有助於。

問候。

相關問題