Diman
Admin
 Admin
| Posts: 1482 |  | Karma: 19 |
|
Re:Ещё раз о InternalCalc в ADCDS
|
|
Posted: 2007/08/07 05:09 |
|
|
|
|
Привет
1. Не работают агрегаты поверх InternalCalc Ok. С этим разобрался. Для исправления, откройте daADCompDataSet.pas, найдите в нем метод TADDataSet.SetFieldData. В нем строки:
if oRow.RowState in [rsInserted, rsModified, rsUnchanged] then
oRow.BeginEdit;
oRow.SetData(iColIndex, pData, iLen);
|
Замените на:
if oRow.RowState in [rsInserted, rsModified, rsUnchanged] then begin
lEndEdit := State in [dsCalcFields, dsInternalCalc];
oRow.BeginEdit;
end
else
lEndEdit := False;
oRow.SetData(iColIndex, pData, iLen);
if lEndEdit then
oRow.EndEdit(True);
|
И переменную lEndEdit добавьте в VAR.
2. Если в DS, в котором есть поля InternalCalc фильтровать по выражению
Так и не увидел бага ... Может этот патч исправил и его. Попробуйте и дайте мне знать.
Удачи,
Дмитрий
|
|