1

我想创建一个动态组合框,即它从数据库中获取数据

在按下某些按钮(在其他面板上)时,我想重新加载 ComboBox。

ComboBox Store Datatype : List 我创建了一个获取 List 的 RPC 调用(RPCProxy)

但是,我无法创建一个 Loader 将其映射到我的 ComboBox Store,因为 Loader 仅映射到扩展 BeanModel 实例的 Store。所以我在加载时只能获取一次数据,但我不能重新获取数据,因为我不能使用加载器。

这是代码的一部分:

SimpleComboBox myCombo = new SimpleComboBox(); List myStore = new ArrayList();

XX.getService().getMyDD(userData.getId(), weekOffset, new AsyncCallback<List<String>>() {
                    public void onFailure(
                            Throwable caught) {
                        MessageBox.alert(UIConstants.ERROR,caught.getMessage(),
                                        null);
                    }
                    public void onSuccess(List<String> result) {
                        for(String str: result)
                        {
                            myStore.add(str);                               
                        }
                        myCombo.removeAll();
                        myCombo.add(myStore);
                        myCombo.setSimpleValue(UIConstants.ALL);
                    }
                });

        RpcProxy<List<String>> userTypeProxy = new RpcProxy<List<String>>() {
            @Override
            protected void load(Object loadConfig,
                    AsyncCallback<List<String>> callback) {
                try {
                    System.out.println("In Loader: my: "+my);
                    XX.getService().getMyDD(userData.getId(), weekOffset, 
                             callback);     
                    } catch (Exception e) {
                    MessageBox.alert(UIConstants.ERROR,
                            UIConstants.ERROR_USER_RETRIEVED, null);
                }
            }
        };

请让我知道我是否可以为我的 ComboBox 实现任何类型的加载器,例如 ListLoader 等。我非常感谢您提前提供的帮助。

4

0 回答 0