我创建了一个包含一个xml视图的案例。此视图包含一个带有两列的treetable
xxbl:mirror="true"
我在控制器中填充了这个treetable,如下所示:
<core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
controllerName="sdf_test.App" xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:t="sap.ui.table" xmlns:var="sap.ui.comp.variants" xmlns:commons="sap.ui.commons"
xmlns:layout="sap.ui.layout">
<App>
<pages>
<Page>
<content>
<t:TreeTable id="mainPageTable" rowHeight="40"
enableColumnReordering="false" visibleRowCount="14">
<t:columns>
<!-- <t:Column> <CheckBox /> </t:Column> -->
<t:Column sortProperty="landscapeName" width="400px">
<Label text="sample" />
<t:template>
<Link text="{name}" enabled="{enabled}"/>
</t:template>
</t:Column>
<t:Column>
<Label text="Status" />
<t:template>
<Text text="{nodeName}" />
</t:template>
</t:Column>
</t:columns>
</t:TreeTable>
</content>
</Page>
</pages>
</App>
</core:View>
问题是我第一次打开&#34; item1&#34; root branch我可以看到一个项启用,第二个禁用。但如果我关闭&#34; item1&#34;并再次打开它们两个字段都被禁用。如下图所示。
第二次:
答案 0 :(得分:2)
好的答案是使用toggle的toggleOpenState函数,然后在每次调用此方法时设置rerender()。
<t:TreeTable toggleOpenState="toggleOpenState"/>
toggleOpenState : function(){
this.byId("mainPageTable").rerender();
}