Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OnDrawColumnCell в DBGridEh [D5, D6]


Akhan ©   (2005-01-14 09:56:00) 

Что-то OnDrawColumnCell в DBGridEh не корректно работает.
Если имеются футеры, то при присутствии OnDrawColumnCell футер не правильно перерисовывается. Кто-нибудь встречался с такой проблемой?


Akhan   (2005-01-14 13:09:00) [1]

>ЮЮ
Спасибо, друг! Заработало!
Раньше не заметил этот обработчик.
procedure TOSV.DBGridEh1DrawFooterCell(Sender: TObject; DataCol,
 Row: Integer; Column: TColumnEh; Rect: TRect; State: TGridDrawState);
begin
 DBGridEh1.DefaultDrawFooterCell(Rect, DataCol, Row, Column, State);
end;


ЮЮ   (2005-01-14 12:25:00) [2]

>тогда итоговая сумма из футера появился во всех ячейках грида

А где ей ещё появляться? Rect, переданный в DBGridEh1DrawColumnCell предназначен для вывода одной текущей ячейки, куда ты, в конце концов, рисуешь то, что должно рисоваться в футере.

DBGridEh1.DefaultDrawFooterCell(Rect, DataCol, Row, Column, State);

помести в обработчике OnDraw FooterCell


Sergey13   (2005-01-14 12:24:00) [3]

2[4] Akhan   (14.01.05 12:18)
Может у тебя просто SumList.Active=False?


Fay   (2005-01-14 12:23:00) [4]

DefaultDrawColumnCell(Rect, DataCol, Column, State);?


Akhan   (2005-01-14 12:18:00) [5]

и без DefaultDrawFooterCell выходит пустой.


ЮЮ   (2005-01-14 11:55:00) [6]

А нахрена в DrawColumnCell вызывать DefaultDrawFooterCell? Полагаю, что эти методы реализованы отдельно


Akhan   (2005-01-14 11:13:00) [7]

футер выходит пустой.

procedure TOSV.DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
begin
 if DAOQuery1.FieldByName('IsGroup').AsInteger = 1 then
   DBGridEh1.Canvas.Font.Style := [fsBold];
 DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
 DBGridEh1.DefaultDrawFooterCell(Rect, DataCol,1, Column, State);
end;

а что передавать в параметр Row в процедуре DBGridEh1.DefaultDrawFooterCell? так, пробовал 0, тогда итоговая сумма из футера появился во всех ячейках грида.


Val   (2005-01-14 10:02:00) [8]

Ну не знаю. Вроде нормально все. Что у вас в обработчике? И что означает "не правильно перерисовывается"?


Наверх

Титульная страница Поиск, карта сайта Написать письмо