如何在GWT中动态添加视图?

时间:2011-05-16 12:07:33

标签: gwt

我有一个名为PageShell的模板视图,它允许我为我的应用中的所有页面定义页面结构。创建新的页面展示器时,它将创建一个PageShell视图并设置菜单和主视图。

PageShell.ui.xml          

<ui:style>
.pageMenuDiv {
    height:100%;
    width:200px;
    float:left;
    margin:0px;
    padding:0px;
}
.pageMainDiv {
    height:100%;
    margin:10px;
    padding:0px;
    margin-left:200px;
}
.pageContainer {
    margin:0px;
    padding:0px;
}
</ui:style>

    <g:HTMLPanel ui:field="pageContainer">
    <div id="pageMenuDiv" class="{style.pageMenuDiv}"/>
    <div id="pageMainDiv" class="{style.pageMainDiv}"/>
    </g:HTMLPanel>
</ui:UiBinder> 

尝试使用add(menuView,“pageMenuDiv”)或addAndReplaceElement(没有错误但新插入的视图没有显示)动态地将视图添加到上面的2个DIV时遇到问题。

但是,如果不是我使用的DIV,它可以正常工作:

<g:HTMLPanel styleName="{style.pageContainer}" width="100%" height="100%">
    <g:SimplePanel ui:field="pageMenuContainer" styleName="{style.pageMenuDiv}"/>
    <g:SimplePanel ui:field="pageMainContainer" styleName="{style.pageMainDiv}"/>
</g:HTMLPanel>

实现这一目标的正确方法是什么? 谢谢, 塞巴斯蒂安

1 个答案:

答案 0 :(得分:0)

认为您必须为div提供两个不同的名称,例如

<div id="pageMenuDiv1" class="{style.pageMenuDiv}"/>
<div id="pageMainDiv2" class="{style.pageMainDiv}"/>