2015-04-28 28 views
2

我想擴展SAPUI5 TreeTable。 在最簡單的形式我擴展表看起來是這樣的:SAPUI5擴展表

jQuery.sap.declare("my.app.ExtendedTable"); 
jQuery.sap.require("sap.ui.table.library"); 
jQuery.sap.require("sap.ui.table.TreeTable"); 

sap.ui.table.TreeTable.extend('my.app.ExtendedTable', {}); 

所以,我真的不添加任何新的屬性或重寫任何方法還沒有,等到基礎工作。

如果我把它放在我的XML視圖中作爲一個空的表格,視圖就會被渲染(命名空間「my」是指擴展表的名字空間(「my.app」),「table」是指「sap.ui.table」)。

但是,如果我開始向它添加列,我得到錯誤: 「未捕獲的錯誤:無法從加載‘SAP/UI /表/ columns.js’......」

<my:ExtendedTable> 
    <table:columns> 
    </table:columns> 
</my:ExtendedTable> 

所以它以某種方式無法繼承sap.ui.table.Table中的columns-aggregation,但試圖爲它找到一個類。 我已經花了幾天的時間解決了這個問題,試圖一遍又一遍讀取SAPUI5指令,並嘗試搜索可能有幫助的樣本,但沒有任何運氣。 任何想法這裏有什麼不對?我錯過了什麼?

+0

這只是並不怎麼表的工作原理? https://sapui5.netweaver.ondemand.com/sdk/explored.html#/sample/sap.m.sample.Table/code – OddDev

+0

@OddDev:你指的是'sap.m.Table',而OP指的是'sap.ui.table.TreeTable'工作方式不同 – Qualiture

+0

@Qualiture對不起,錯過了。謝謝 :) – OddDev

回答

1

因爲聚集是您擴展控制的一部分,我會假設它應該像這樣工作:

<my:ExtendedTable> 
    <my:columns> 
    <table:Column width="100px"> 
     <table:label><Label text="{something}" /></table:label> 
     <table:template><TextView text="{somethingElse}" /></table:template> 
    </table:Column> 
    </my:columns> 
</my:ExtendedTable>