我在GXT中使用一个简单的ComboBox从数据库中获取其值。
我想要的是,每次用户点击(展开)ComboBox时,它都会检查并重新填充数据库中的最新条目(如果它们已经更改)。
现在我正在做类似的事情:
ProtocolProperties protocolProperties = GWT.create(ProtocolProperties.class);
final ListStore<ProtocolDto> protocolStore = new ListStore<ProtocolDto>(protocolProperties.id());
protocol = new ComboBox<ProtocolDto>(protocolStore, protocolProperties.name());
protocol.addExpandHandler(new ExpandHandler() {
@Override
public void onExpand(ExpandEvent event) {
protocolStore.clear();
ProtocolDto emptyDto = new ProtocolDto();
emptyDto.setId(-1);
emptyDto.setName("None");
protocolStore.add(emptyDto);
AppEntryPoint.getLogbookdataservice().getAllProtocols(new AsyncCallback<List<ProtocolDto>>() {
@Override
public void onSuccess(List<ProtocolDto> result) {
protocolStore.addAll(result);
}
@Override
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
}
});
}
});
感谢任何花时间回答这个问题的人。
答案 0 :(得分:3)
您应该在Combobox中查看异步支持,而不是重新发明方形轮。
Sencha Demo - http://www.sencha.com/examples/#ExamplePlace:advancedcombobox
Stackoverflow - 这里讨论的一种方法 - Dynamic Autosuggest Combobox in GXT