![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| BGladiator |
|
|||
|
Unregistered |
У меня такая проблема: Есть DBgrid, который извлекает данные из некоторого источника (Query). Некоторые поля есть Data, а некоторые Calculated. Значит, когда я делаю обновление одного поля (естесственно Calculated) и при этом обновляется (в процедуре OnCalcFields) и все остальные вычисляемые поля - всё правильно! Теперь же мне надо, чтобы при изменении одного вычисляемого поля не вычислялись другие. Я сделал некоторый признак по которому и должны обновляться эти поля в OnCalcFields. Теперь всё правильно - поля не вычисляются, но DBGrid почему-то во все эти поля которые есть на экране выводит пустые строчки, а не те значения которые были до этого. Причём если прокрутить экран вниз вверх или вниз то всё верно - все значения выводятся.
Подскажите пожалуйста как с этим бороться. вот кусочек кода - в котором одно поле обновляется, а остальные по идее должны оставаться прежними. begin CurrentCursor:=Screen.Cursor; with grd.DataSource.DataSet do if Active and Not isEmpty then try CurrentRow:=Bookmark; Screen.Cursor:=crHourGlass; if FieldByName('SELECTION').AsString = 'X' then Value:=' ' else Value:='X'; dmLineData.Update_Flag := FALSE; // Это мой признак - означает что остальные высчитываемые поля должны остаться прежними. for i:=0 to GRD.SelectedRows.Count-1 do begin Bookmark:=GRD.SelectedRows.Items[i]; ShowMessage(V_ttc+V_LD+V_Address); if FieldByName('SELECTION').AsString <>Value then begin if State <> dsEdit then Edit; if Value='X' then grd.Columns.Items[0].Field.AsString := Value; end; end; Bookmark:=CurrentRow; finally Screen.Cursor:=CurrentCursor; dmLineData.Update_Flag := TRUE; end; end; END; |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |