如何在每次通话后刷新GXT的组合框

时间:2014-11-19 17:42:12

标签: gwt combobox gxt

我有一个组合框。当我单击一个链接时,它会打开一个弹出窗口,其中包括一个组合框(从数据库加载数据)。它总是保留第一次调用的数据(它不刷新)。

如何更新?

VerticalPanel vp = new VerticalPanel();
vp.setSpacing(10);

ListStore<State> states = new ListStore<State>();
states.add(getStates());

ComboBox<State> combo = new ComboBox<State>();
combo.setEmptyText("Select a state...");
combo.setDisplayField("name");
combo.setWidth(150);
combo.setStore(states);
combo.setTypeAhead(true);
combo.setTriggerAction(TriggerAction.ALL);
vp.add(combo);

1 个答案:

答案 0 :(得分:1)

假设您正在使用GXT并且之前正在使用GXT Window类,您可以这样做:

myWindow.addBeforeShowHandler(new BeforeShowEvent.BeforeShowHandler() {
    @Override
    public void onBeforeShow(BeforeShowEvent event) {
        mxComoBox.clear();
    }
});

您会看到旧值,因为弹出窗口会被重复使用。因此,当弹出窗口可见时,您必须清除组合的值。

此代码应与GXT 3.1.2一起使用。旧版本的GXT可能有不同的编码。

希望有所帮助。