Java 如何根据数据交换widget元素

Java 如何根据数据交换widget元素,java,google-app-engine,gwt,requestfactory,Java,Google App Engine,Gwt,Requestfactory,我们有一个GWT项目,使用了RequestFactory、编辑器框架和UiBinder。使用RequestFactory从服务器加载数据后,我们将根据数据中的状态确定页面是否应为只读 此时,我想呈现一个输入小部件或标签(如果是只读的) 理想情况下,我会根据数据交换小部件的呈现,但是在加载数据时,呈现端看起来已经完成(基于我所做的调试) 我不希望页面上有两个小部件,其中一个隐藏。这已经给我们带来了来自隐藏的一个覆盖另一个的数据的问题,更不用说DOM中两倍数量的小部件的影响了 到目前为止,有一种想法

我们有一个GWT项目,使用了RequestFactory编辑器框架和UiBinder。使用RequestFactory从服务器加载数据后,我们将根据数据中的状态确定页面是否应为只读

此时,我想呈现一个
输入
小部件或
标签
(如果是只读的)

理想情况下,我会根据数据交换小部件的呈现,但是在加载数据时,呈现端看起来已经完成(基于我所做的调试)

我不希望页面上有两个小部件,其中一个隐藏。这已经给我们带来了来自隐藏的一个覆盖另一个的数据的问题,更不用说DOM中两倍数量的小部件的影响了

到目前为止,有一种想法是在收到数据时将其从parent()中移除。有更好的方法吗


谢谢。

我的第一个想法是…

仅适用于输入字段和文本区域。如果您有下拉列表、RadioBox或复选框,它将不起作用

…通过css设置输入字段的样式,使其看起来不像输入字段(删除边框和背景色即可),并在其为只读时将其禁用。如果不是只读的,请删除css类,使其看起来像一个普通的输入字段,并使其可编辑

大概是这样的:

<style>
.label {
    background-color: white;
    border: 0px;
    color: black;
}
</style>

<input type="text" class="label" disabled value="Read only data"/>
<input type="text" value="Editable data"/>

.标签{
背景色:白色;
边界:0px;
颜色:黑色;
}
另一个想法是..

我使用GWT已经有一段时间了。但是,您不能将小部件添加到从rcp调用获取数据的回调中吗

大概是这样的:

<style>
.label {
    background-color: white;
    border: 0px;
    color: black;
}
</style>

<input type="text" class="label" disabled value="Read only data"/>
<input type="text" value="Editable data"/>
在ui活页夹中,只有数据容器


在方法中,根据获得的数据,将数据绘制为容器中的标签或输入字段。您可以在数据请求的回调中调用此方法。

我的第一个想法是…

仅适用于输入字段和文本区域。如果您有下拉列表、RadioBox或复选框,它将不起作用

…通过css设置输入字段的样式,使其看起来不像输入字段(删除边框和背景色即可),并在其为只读时将其禁用。如果不是只读的,请删除css类,使其看起来像一个普通的输入字段,并使其可编辑

大概是这样的:

<style>
.label {
    background-color: white;
    border: 0px;
    color: black;
}
</style>

<input type="text" class="label" disabled value="Read only data"/>
<input type="text" value="Editable data"/>

.标签{
背景色:白色;
边界:0px;
颜色:黑色;
}
另一个想法是..

我使用GWT已经有一段时间了。但是,您不能将小部件添加到从rcp调用获取数据的回调中吗

大概是这样的:

<style>
.label {
    background-color: white;
    border: 0px;
    color: black;
}
</style>

<input type="text" class="label" disabled value="Read only data"/>
<input type="text" value="Editable data"/>
在ui活页夹中,只有数据容器


在方法中,根据获得的数据,将数据绘制为容器中的标签或输入字段。您可以在数据请求的回调中调用此方法。

我已经设置了输入的样式,使其显示为文本,但这不适用于下拉列表、复选框或单选按钮。我明白你关于第二个想法的观点。这似乎是一个有效的方法。我会试一试并发布一些代码。是的,你是对的,我的第一个想法只适用于文本输入字段和文本区域。我已经编辑了我的帖子。我已经在设计输入的样式,使它们显示为文本,但这不适用于下拉列表、复选框或单选按钮。我明白你关于第二个想法的观点。这似乎是一个有效的方法。我会试一试并发布一些代码。是的,你是对的,我的第一个想法只适用于文本输入字段和文本区域。我已经编辑了我的帖子。