如何让SAPUI5 TreeTable 默认展开?
How to make SAPUI5 TreeTable expanded by default?
我使用以下代码(在控制器中):
onAfterRendering: function () {
var t, i;
if (!this.initExpand) {
try {
t = this.getView().getContent()[1];
for (i=0; i<t.getRows().length; i++) {
t.expand(i);
}
this.initExpand = true;
} catch (e) {
console.log("expand failed: "+e.message);
}
}
},
用于初始(加载和渲染后)扩展以下 sap.ui.table.TreeTable(在视图中)的所有节点:
<mvc:View
displayBlock="true"
xmlns:l="sap.ui.layout"
xmlns:table="sap.ui.table"
xmlns:mvc="sap.ui.core.mvc"
controllerName="sap.app.controller.scr1"
>
<l:HorizontalLayout>
<SearchField liveChange="onSearch"/>
</l:HorizontalLayout>
<table:TreeTable rows="{/root}"
selectionMode="None"
visibleRowCount="11"
showColumnVisibilityMenu="true"
enableCellFilter="true"
enableColumnReordering="false"
class="sapUiSizeCompact"
expandFirstLevel="true"
>
<table:columns>
...
</table:columns>
</table:TreeTable>
</mvc:View>
但有时节点仍然没有展开(保持折叠状态)。
是否有其他(更稳定)的方法来初始扩展sap.ui.table.TreeTable的所有节点?
看看这个demo。
/* code to expand */
for (i=0; i<oTable.getRows().length; i++) {
oTable.expand(i);
}
以下代码有效:
onAfterRendering: function(){
var oTreeTable = this.getView().byId("myTreeTableId");
oTreeTable.expandToLevel(3); //number of the levels of the tree table.
}
其中“3”是树的层数 table 并且,
myTreeTableId:是您在 XML 视图中的控件 ID:
<table:TreeTable id="myTreeTableId" ...
我使用以下代码(在控制器中):
onAfterRendering: function () {
var t, i;
if (!this.initExpand) {
try {
t = this.getView().getContent()[1];
for (i=0; i<t.getRows().length; i++) {
t.expand(i);
}
this.initExpand = true;
} catch (e) {
console.log("expand failed: "+e.message);
}
}
},
用于初始(加载和渲染后)扩展以下 sap.ui.table.TreeTable(在视图中)的所有节点:
<mvc:View
displayBlock="true"
xmlns:l="sap.ui.layout"
xmlns:table="sap.ui.table"
xmlns:mvc="sap.ui.core.mvc"
controllerName="sap.app.controller.scr1"
>
<l:HorizontalLayout>
<SearchField liveChange="onSearch"/>
</l:HorizontalLayout>
<table:TreeTable rows="{/root}"
selectionMode="None"
visibleRowCount="11"
showColumnVisibilityMenu="true"
enableCellFilter="true"
enableColumnReordering="false"
class="sapUiSizeCompact"
expandFirstLevel="true"
>
<table:columns>
...
</table:columns>
</table:TreeTable>
</mvc:View>
但有时节点仍然没有展开(保持折叠状态)。
是否有其他(更稳定)的方法来初始扩展sap.ui.table.TreeTable的所有节点?
看看这个demo。
/* code to expand */
for (i=0; i<oTable.getRows().length; i++) {
oTable.expand(i);
}
以下代码有效:
onAfterRendering: function(){
var oTreeTable = this.getView().byId("myTreeTableId");
oTreeTable.expandToLevel(3); //number of the levels of the tree table.
}
其中“3”是树的层数 table 并且,
myTreeTableId:是您在 XML 视图中的控件 ID:
<table:TreeTable id="myTreeTableId" ...