Gwt 如何电动使用UIBinder?
我使用的是GWT2.3。我在这里使用的是UI活页夹。我想用UIBinder在这里创建网格。为此,我编写了这段代码Gwt 如何电动使用UIBinder?,gwt,uibinder,Gwt,Uibinder,我使用的是GWT2.3。我在这里使用的是UI活页夹。我想用UIBinder在这里创建网格。为此,我编写了这段代码 <g:Grid ui:field='mygrid' addStyleNames='{style.panel}' cellSpacing='10'> <g:row> <g:customCell> <g:Label text="
<g:Grid ui:field='mygrid' addStyleNames='{style.panel}'
cellSpacing='10'>
<g:row>
<g:customCell>
<g:Label text="11" styleName="{style.label}" />
</g:customCell>
<g:customCell>
<g:Label text="22" styleName="{style.label}" />
</g:customCell>
</g:row>
<g:row>
<g:customCell>
<g:Label text="33" styleName="{style.label}" />
</g:customCell>
<g:customCell>
<g:Label text="44" styleName="{style.label}" />
</g:customCell>
</g:row>
</g:Grid>
现在,我的网格数据是静态的。现在,如果我的数据来自服务器端&根据这些数据,我想使用UIbinder创建一个网格。这怎么可能
另一种情况是。有一种形式。在这种形式中,控件的数量来自数据库。
那么UIBider如何支持创建这个表单呢
所以我想知道是否可以使用UIBinder来根据运行时数据创建用户界面
欢迎提供任何建议或示例。UiBinder是“交叉编译”到JavaScript和HTML代码的。一旦完成,您就不能修改它。现在有一种方法可以做一些事情,比如将XML语法发送到客户端,然后创建一个网格
但是,您可以在“代码隐藏”中添加新行
关于你的第二个问题:我不知道你的意思:是的,你可以从Java向UIBinder添加数据。当您在Eclipse中创建UIBinder时,它也为这个XML创建了.java文件。编辑此对应的java文件并添加如下内容:
公共类MyGridSample扩展复合{
//uiBinder接口声明。。。
私有静态MyGridSampleUiBinderUiBinder=GWT.create(MyGridSampleUiBinder.class);
接口MyGridSampleUiBinder扩展了UiBinder{
}
//注释以将ui字段转换为代码
@尤菲尔德
网格mygrid;
公共MyGridSample(){
setWidget(uiBinder.createAndBindUi(this));
//使用标签设置单元格0,0
setWidget(0,0,新标签(“单元格0”);
}
}
GWT是客户端框架,UIBinder被预编译为javascript文件——它们作为静态文件使用。您应该进行Webservice调用以将数据获取到此模板。“但是,您可能会在“代码隐藏”中添加新行。”这意味着首先要在ui.xml中定义网格,并根据数据定义gwt(.java)类中的行数?是的。我知道这不是最好的解决方案,但我仍然会使用UiBinder。在“表格设计”中添加样式和新的小部件(如“标题标签”)更容易。