SimpleComboBox的加载器 - GXT

时间:2012-10-22 05:58:46

标签: gwt gxt

我想创建一个Dynamic ComboBox,即它从DB

中获取数据

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

ComboBox商店数据类型:列表 我创建了一个RPC调用(RPCProxy)来获取List

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

以下是代码的一部分:

SimpleComboBox myCombo = new SimpleComboBox(); 列出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等。 我非常感谢你的帮助。

0 个答案:

没有答案