2016-03-30 6 views
0

編集可能な列を持つ表フィールドがあります。あるセルで値を変更すると、他のフィールドの値を計算する必要があります。 私はセルの値が変化したときを検出する方法を知っています。 セルの値に変更があると私に伝えるフックは見つかりませんでした。Eclipseスカウトセルのネオン値が変更されました

私が見つかりました:

@Override 
public void fireTableEventInternal(final TableEvent e) { 

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

を私はこれは進むべき道ではないと思います。

答えて

2

execCompleteEditは必要な機能だと思います。

@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); 
    } 
} 
関連する問題