[英]SAPUI5 TreeTable rendering issue
I have created a case which has one xml view.我创建了一个有一个 xml 视图的案例。 This view contains a treetable with two columns此视图包含一个包含两列的树表
<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>
I populate this treetable in the controller like below:我在控制器中填充这个树表,如下所示:
onInit : function() {
var that = this;
var oView = that.getView();
var mainPageTable = oView.byId("mainPageTable");
var oData = {
root:{
0: {
name: "item1",
enabled: true,
0: {
name: "subitem1-1",
enabled: true,
},
1: {
name: "subitem1-2",
enabled: false,
}
},
}
};
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(oData);
mainPageTable.setModel(oModel);
mainPageTable.bindRows("/root");
}
});
The problem is first time I open the "item1" root branch I can see one item enabled and second one disabled.问题是我第一次打开“item1”根分支时,我可以看到一个项目已启用,第二个项目已禁用。 but if I close the "item1" and open it again both fields become disabled.但是如果我关闭“item1”并再次打开它,两个字段都会被禁用。 like below pictures.像下面的图片。
second time:第二次:
Ok the answer is to use toggleOpenState function for treetable and then set rerender() each time this method is called.好的,答案是对 treetable 使用 toggleOpenState 函数,然后在每次调用此方法时设置 rerender()。
<t:TreeTable toggleOpenState="toggleOpenState"/>
toggleOpenState : function(){
this.byId("mainPageTable").rerender();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.