2013-02-08 2 views
0

ComboBox 및 재설정 버튼이있는 Simple Form을 만들려고했습니다. 나는 버려진 상태로 콤보 박스를 리셋 할 수 있다고 생각했다. 나는 무엇을 잘못 했는가? 주석 처리되지 않은 combobox.select는 일시적인 해결책입니다. 선 위 설정하지 않습니다discard()가 예상대로 작동하지 않는 이유는 무엇입니까?

comboBox.setValue(null); 
+0

'ComboBox'란 무엇입니까? JavaDoc에서 찾을 수 없습니다. – jlordo

+0

Vaadin 구성 요소입니다. 'com.vaadin.ui.ComboBox' –

답변

0

이 대신 discard()를 사용 간단한 예를 다음

데이터 소스를 올바르게. discard()은 데이터 소스! = null인지 확인합니다. 그러나 코드 예제의 경우 데이터 소스는 null이므로 아무 일도 일어나지 않습니다. 왜? 나는 아직 모른다.

+1

사실 그것은 comboBox.select (comboBox.getNullSelectionItemId());와 같은 해결책이지만'discard()'가 작동하지 않는 이유는 무엇입니까? –

0

final ComboBox comboBox = new ComboBox("Importers", objects);

:

가 콤보 상자에서 아무것도 선택하지하기 위해
public class VaadinprojectApplication extends Application { 

@Override 
public void init() { 
    final Window mainWindow = new Window("Simpleform"); 

    final List<String> aListWithStrings = new ArrayList<String>(); 
    aListWithStrings.add("Somthing"); 
    final BeanItemContainer<String> objects = new BeanItemContainer<String>(String.class, aListWithStrings); 
    final ComboBox comboBox = new ComboBox("Importers", objects); 

    // reset button 
    final Button resetButton = new Button("Reset", new Button.ClickListener() { 
     @Override 
     public void buttonClick(final ClickEvent event) { 
      // comboBox.select(comboBox.getNullSelectionItemId()); 
      comboBox.discard(); 
      System.out.println("reset"); 
     } 
    }); 
    final FormLayout form = new FormLayout(); 
    form.addComponent(comboBox); 
    form.addComponent(resetButton); 
    form.setSizeUndefined(); 

    mainWindow.addComponent(form); 
    setMainWindow(mainWindow); 
} 
} 
관련 문제