データベースから値を取得する単純な ComboBox を GXT で使用しています。
私が望むのは、ユーザーが 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
}
});
}
});
これに答えるために時間を割いてくれた人に感謝します。