单元格中的 Eclipse Scout Neon 值已更改
Eclipse Scout Neon value in cell changed
我有 table 字段和 editable 列。当我更改一个单元格中的值时,我需要计算其他字段中的值。
我想知道,如何检测单元格中的值何时发生变化。
我找不到任何可以告诉我单元格中的值发生变化的钩子。
我发现:
@Override
public void fireTableEventInternal(final TableEvent e) {
if (e.getType() == TableEvent.TYPE_ROWS_UPDATED) {
AbstractProductsTableField.this.execPriceValueChange();
} else {
super.fireTableEventInternal(e);
}
}
但我不认为这是一个可行的方法。
我认为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);
}
}
我有 table 字段和 editable 列。当我更改一个单元格中的值时,我需要计算其他字段中的值。 我想知道,如何检测单元格中的值何时发生变化。 我找不到任何可以告诉我单元格中的值发生变化的钩子。
我发现:
@Override
public void fireTableEventInternal(final TableEvent e) {
if (e.getType() == TableEvent.TYPE_ROWS_UPDATED) {
AbstractProductsTableField.this.execPriceValueChange();
} else {
super.fireTableEventInternal(e);
}
}
但我不认为这是一个可行的方法。
我认为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);
}
}