SAPUI5 TreeTable呈现问题

时间:2015-09-22 05:05:38

标签: javascript sap sapui5

我创建了一个包含一个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;并再次打开它们两个字段都被禁用。如下图所示。

第一次: enter image description here

第二次:

enter image description here

1 个答案:

答案 0 :(得分:2)

好的答案是使用toggle的toggleOpenState函数,然后在每次调用此方法时设置rerender()。

<t:TreeTable toggleOpenState="toggleOpenState"/>


toggleOpenState : function(){

   this.byId("mainPageTable").rerender();
}