当前位置: 首页 > 知识库问答 >
问题:

GXT中的SimpleComboBox

仲孙才捷
2023-03-14

如何在GXT中使用SimpleComboBox使用键/值对。我可以将键添加到SimpleComboBox,但如何将特定键的值添加到SimpleComboBox?稍后我想检索键的值。谢谢

共有2个答案

巫懿轩
2023-03-14
// MySimpleComboBox extends SimpleComboBox
public MySimpleComboBox(){
    super(new ListStore<Person>(new ModelKeyProvider<Person>() {
        @Override
        public String getKey(Person item) {
            return item.id();
        }
    }), new LabelProvider<Person>() {
        @Override
        public String getLabel(Person item) {
            return item.toString();
        }
    });
}

我曾经这样做过,我认为这是你在寻找的(或你一直在寻找的)。

祖迪
2023-03-14

在SimpleComboBox中具有键/值的简单方法是使用具有类型BaseModel的ListStore。BaseModel允许您将数据保存为键/值,如下所示:

SimpleComboBox combo = new SimpleComboBox();
ListStore<BaseModel> store = new ListStore<BaseModel>();

combo.setStore(store);
combo.setDisplayField("name");
// complete the SimpleComboBox properties here.

// Now, we will create data sample for the answer
BaseModel model = new BaseModel();
model.set("id", 1);
model.set("name", "Java");
store.add(model);

BaseModel model = new BaseModel();
model.set("id", 2);
model.set("name", "PHP");
store.add(model);

正如您从代码段中看到的,BaseModel将数据存储为键/值对,因此您可以很容易地从SimpleComboBox中获取所选元素,如:

BaseModel selectedModel = (BaseModel) combo.getValue();
String techName = selectedModel.get("name"); // return value of key name
 类似资料:
  • 我从GXT 2.2升级到2.3.1a,为升级到3做准备。x(这会很痛苦)。看起来MenuItem中有一个bug,可以通过重写MenuItem或gxt all中的方法来修复。2.3.1a的css。(搜索:migration-to-gxt2.3.1-grid-header-menu-no-more-displays-properly。在Sencha论坛上;抱歉,很难在此处找到工作链接:( 任何人都可以

  • 我已经尽可能多地搜索了,但没有找到我的问题的任何答案/示例。 我对Web UI开发完全陌生,但在Java和其他语言方面有十五年的经验。我似乎完全迷失在客户端可用选项的海洋中,但对于服务器端,我已经有一个Rest服务器(Play)在运行。我不能也不想为客户端和服务器b/c使用完整的包,我想在服务器和客户端之间来回传递JSON。这样,我可以使用多个不同的客户端:web、Excel、Swing等。我希望

  • Sencha GXT 的前身就是 Ext GWT , 是一个非常受欢迎的 Java Web 应用框架,基于 Google Web Toolkit 开发,使用 Sencha GXT 开发者可方便的构建支持多浏览器的高性能 Web 应用。

  • 当网格单元中的复选框更改其状态时,我需要更新存储:从存储中添加或删除值。如何处理此事件?顺便说一句,我用以下方式在网格中创建复选框: UPD2:现在我执行以下操作:按照最初的决定创建复选框: 而不是像这样处理网格中的事件:UPD3: 这是正确的方法。

  • 我是使用java的gxt新手。我有8个FramedPanel,我需要在下一个顺序中绘制,但我不知道如何绘制。 FramedPanels编号:

  • 我使用GXT 2.2.3创建了EditorGrid。所需的一切都结束了。但有一次我遇到了问题,即我需要根据一个单元格中的值禁用和启用一些单元格。我问了一个问题,如何基于gxt中可编辑网格中的另一个单元格值使单元格不可编辑。但我找到了一个不适合我的解决方案。我在Sencha、coderanch和其他一些论坛上问过,但仍然没有找到解决方案。 现在我决定将其迁移到GXT 3.0.1。 我需要一个Edit