2016-04-16 12 views
0

Gibt es eine Möglichkeit, den Wert in einem ComboBoxCellEditor anderen als dann, wenn der Fokus auf die Zelle verloren geht? Ich benutze es in jeder Zelle einer Spalte in einem und die einzige Methode, die setValue aufgerufen wird, ist, wenn Fokus auf der Zelle verloren geht. Wenn ein Benutzer eine Auswahl trifft und nicht auf die Zelle klickt, wird der Wert nie auf die neue Auswahl gesetzt. Ich habe versucht, Hörer auf der ComboBoxCellEditor und auf der Kontrolle der ComboBoxCellEditor hinzufügen, aber nichts scheint das Auswahlereignis abzuholen.ComboBoxCellEditor nur Einstellungswert auf Fokus verloren

+0

Hinzufügen eines Auswahllisteners zum CCombo/Combo-Steuerelement sollte funktionieren. Bitte bearbeiten Sie Ihre Frage, um die relevanten Code-Passagen einzubeziehen. –

Antwort

1

Ich fand heraus, dass ich das Steuerelement zu einem CCombo umwandeln musste, um den richtigen Typ von Listener dem ComboBoxCellEditor hinzuzufügen. Hier ist, was ich getan habe:

CCombo combo = (CCombo) cellEditor.getControl(); 

combo.addSelectionListener(new SelectionListener() 
{ 

    @Override 
    public void widgetSelected(SelectionEvent paramSelectionEvent) 
    { 
     //selection code here... 
    } 

    @Override 
    public void 
     widgetDefaultSelected(SelectionEvent paramSelectionEvent) 
    { 
     //do nothing here... 
    } 
});