Ребят, вот wiki:
fkInternalCalc.
Я так понимаю, это мой ключ от замка к первой части задачи.
Только вот справиться с ним не могу.
1) Двойной клик на "открытом" TADOTable (т.е. DataSet заполнен)
2) Добавляю все колонки
3) Выставляю нужным колонкам в свойствах fkInternalCalc
4) Обрабатываю в OnCalcFields подсчёт этой колонки:
Код:
procedure TfMain.ItemsCalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('MetallWeight').AsFloat := DataSet.FieldByName('Weight')
.AsFloat - DataSet.FieldByName('InsertWeight').AsFloat;
DataSet.FieldByName('Price').AsFloat := DataSet.FieldByName('MetallWeight')
.AsFloat * DataSet.FieldByName('Pricep1g').AsFloat;
end;
Обычно, при вводе в связанные с DataSet'ом TDBEdit'ы, изменения сразу отображаются в DBGrid. А вот с fkInternalCalc ничего не происходит.
С TADOQuery не работал. Пока попробую вникнуть.