【问题标题】:How do I add items into a Simple Combo Box directly from an external *.xml file in GXT?如何直接从 GXT 中的外部 *.xml 文件将项目添加到简单组合框中?
【发布时间】:2012-11-15 05:44:55
【问题描述】:

我在使用 GXT SimpleComboBox 时遇到了一些困难。有人可以告诉我如何从外部 *.xml 文件添加组合框项目吗?这里有更多细节:

我有这个 information.ui.xml 文件作为 uibinder。在这里,我使用以下代码添加了一个简单的组合框:

<row:VerticalLayoutContainer borders="true">
    <f:SimpleComboBox ui:field="listBoxField"></f:SimpleComboBox>
</row:VerticalLayoutContainer>

其次,在代码隐藏类(在我的例子中是 information.java)中,我声明了 ui 字段:

@UiField
SimpleComboBox<String> listBoxField;

然后,在 asWidget() 方法块中,我手动添加了一些条目,如下所示:

listBoxField.add("A");
listBoxField.add("B");
listBoxField.add("C");
listBoxField.add("D");
listBoxField.add("E");
listBoxField.add("F");
listBoxField.add("G");
listBoxField.add("H");

这是一种硬编码方法。现在我愿意摆脱硬编码部分。我想直接从外部 *.xml 文件添加 listBoxField 项目(A、B、C...H)。任何人都可以帮助我如何做到这一点?

谢谢。

【问题讨论】:

    标签: java xml combobox gxt uibinder


    【解决方案1】:

    实际上有数以千计的操作指南(在 SO 和其他地方)描述了从 XML 文件读取数据所需的步骤。 Google 是您的朋友...

    不过,我会用一个问题来回答您的问题:为什么它必须是 XML 文件? ResourceBundle 或者更好的数据库支持怎么样。使用数据库,您不必在每次 XML 或包更改时重新部署应用程序...

    干杯,

    【讨论】:

    • 我个人不是 xml 的粉丝!我自己的偏好是数据库支持。但这是我必须满足的要求。这就是为什么我正在寻找操作指南...谢谢!
    • 我实际上有点希望在 GXT 中有一种直接的方法来解决这个问题。好像没有……:(
    • 没有的主要原因是 UiBinder 是专门为不允许自定义元素/属性处理程序而构建的。大多数在 2.4 中设计并很好地工作的变通方法,在 2.5.0 之前突然停止工作。既定的设计目标是构建小部件,而不是其他很多。 GWT 本身中的可比较类 ValueListBox 也无法处理这个问题 - 但是,ListBox 可以!你为什么问? a) UiBinder 本身中专门构建的解决方法,仅适用于明确支持的小部件,b) ComboBox/SimpleComboBox 是通用的,因此我们不能只期望字符串。
    猜你喜欢
    • 2014-02-22
    • 2014-08-02
    • 1970-01-01
    • 2019-05-10
    • 2011-01-23
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多