一個目錄選擇我需要更新目錄選擇名單後,我在一個按鈕,按一下,但我不知道更新在Vaadin 7
這裏怎麼是我的代碼:
創建列表法
private void createListPanel() {
VerticalLayout listPanel = new VerticalLayout();
listPanel.setWidth(100f, Unit.PERCENTAGE);
queryList= new ListSelect("List Of Querys", getQueryList());
queryList.setWidth(100f, Unit.PERCENTAGE);
queryList.setNullSelectionAllowed(false);
queryList.addValueChangeListener(event -> {
selectedQuery = (String) (queryList.getValue());
String retrievedQuery = repository.getRawQuery(selectedQuery);
});
listPanel.addComponent(queryList);
panelSuperior.addComponent(listPanel);
}
getQueryList()
private List<String> getQueryList() {
return repository.getQueryNames();
}
創建按鈕的方法
private void CreateButton() {
Button buttonRefresh= new Button("Refresh");
buttonRefresh.addClickListener((Button.ClickEvent e) -> {
// i tried this
queryList.setContainerDataSource((Container) getQueryList());
});
buttonPanel.addComponent(button);
}
我想這條線在CreateButton()方法:
queryList.setContainerDataSource((Container) getQueryList())
,但我得到一個
java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.vaadin.data.Container
,因爲這種方法需要容器對象
我正在尋找在Vaadin的javadoc,但我無法找到設置或更新目錄選擇
Vaadin的Javadoc的列表的方法:提前Vaadin Javadoc 7.7.9 ListSelect
感謝
'listaConsultas'和'queryList'是同一件事嗎? 「obtenerNombresLista」和「getQueryList」也是同樣的問題。 –
是的,對不起,我在翻譯時忘了更改這個名字,我編輯了我的答案白名正確的名字 – MaQuiNa1995