Показать сообщение отдельно
Старый 08.02.2013, 15:42   #7  
sashanka is offline
sashanka
Участник
 
28 / 10 (1) +
Регистрация: 07.02.2013
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Функция пересчёта сумм, меняет значения только текущей строки? Для чего происходит принудительное обновление датасурса? Изменение значения ComboBox должно вызвать моментально сохранение данных в БД?

Метод modified предназначен для обработки изменения полей без сохранения строки в БД. За сохранение строки в БД отвечает метод write. Если изменение поля должно тутже инициировать пересохранение строки в БД, то после super в modified явно вызовите метод write().
На форме используется 2 датасорса:
первая таблица отображает полную информацию по какому-либо процессу, содержит несколько строк на один процесс.
вторая - суммирующая таблица содержит по одной записи на каждый процесс, сюда записывается сумма из первой. А также во второй таблице есть строка, где содержится итоговая сумма по всем процессам.

При изменении ComboBox'а пересчитывается сумма строки в первой таблице, во второй при этом должна пересчитаться одна строчка по данному процессу и итоговая строка.

На первой таблице переопределены методы insert, update, delete они обеспечивают синхронизацию данных между таблицами.
Я новичок и может не все понимаю, но без обновления первой таблицы, вторая не будет отображать достоверные данные.