将 GXT 2.2.5 与 GWT 2.3.0 一起使用...
这把我难住了。我有一个 RpcProxy 检索要显示在 ComboBox 上供用户选择的项目列表。我在 ComboBox 旁边还有一个按钮,允许用户创建一个新项目。该按钮打开一个窗口,用户在其中输入信息,然后将新项目添加到数据库中。
我想要发生的是,当用户在操作结束时关闭窗口时,ComboBox 会自动选择新项目。我通过它的 ID 识别新项目,它通过 ComboBox 传递回容器。
首先,我尝试简单地设置 ComboBox 值:
Item item = comboBox.getStore().findModel("id", id);
if (item != null)
{
comboBox.setValue(item);
}
那没有用;据我所知,ComboBox 没有重新加载数据,因此不存在可供选择的新项目。
因此,接下来我尝试在选择之前重新加载商店:
comboBox.getStore().getLoader().load();
Item item = comboBox.getStore().findModel("id", id);
if (item != null)
{
comboBox.setValue(item);
}
那也没有用;该值仍未被选中。
最后,我尝试创建一个临时 LoadListener 以确保在进行选择之前重新加载商店:
LoadListener listener = new LoadListener()
{
@Override
public void loaderLoad(LoadEvent le)
{
super.loaderLoad(le);
Item item = comboBox.getStore().findModel("id", id);
if (item != null)
{
comboBox.setValue(item);
}
}
};
comboBox.getStore().getLoader().addLoadListener(listener);
comboBox.getStore().getLoader().load();
comboBox.getStore().getLoader().removeLoadListener(listener);
仍然没有喜悦。一些检查显示甚至没有调用侦听器。
我做错了什么,我该如何解决?