2016-03-30 8 views
0

Ich habe Tabellenfeld mit editierbarer Spalte. Wenn ich den Wert in einer Zelle ändere, muss ich den Wert in anderen Feldern berechnen. Ich würde gerne wissen, wie man erkennt, wenn sich der Wert in der Zelle geändert hat. Ich konnte keine Haken finden, die mir sagen, dass sich der Wert in der Zelle geändert hat.Eclipse Scout Neon-Wert in Zelle geändert

ich gefunden:

@Override 
public void fireTableEventInternal(final TableEvent e) { 

    if (e.getType() == TableEvent.TYPE_ROWS_UPDATED) { 
    AbstractProductsTableField.this.execPriceValueChange(); 
    } else { 
    super.fireTableEventInternal(e); 
    } 
} 

aber ich glaube nicht, das ist ein Weg, zu gehen.

Antwort

2

Ich denke, dass execCompleteEdit ist die Funktion, die Sie brauchen.

@Order(10) 
public class MyColumn extends AbstractStringColumn { 

    @Override 
    protected String getConfiguredHeaderText() { 
    return "MyColumn"; 
    } 

    @Override 
    protected void execCompleteEdit(ITableRow row, IFormField editingField) { 
    //Test if there is a new value: 
    //compare getValue(row) and ((IStringField) editingField).getValue() 

    //Call super to store the value to the cell (default behavior): 
    super.execCompleteEdit(row, editingField); 
    } 
} 
Verwandte Themen