Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

Прорисовка в DBGrid   Найти похожие ветки 

 
ggg   (2004-12-08 13:34) [0]

Написал обработчик для OnDrawDataCell. Вроде работает нормально, ячейки перерисовываются нужным образом, но если убрать несколько колонок из DBGrid-a, в эту процедуру вообще перестает входить (я пошагово выполнял). Почему?

procedure TMainForm.DBGrid2DrawDataCell(Sender: TObject;
 const Rect: TRect; Field: TField; State: TGridDrawState);
begin
 if AccTable.FieldByName("Prim").AsBoolean then
   DBGrid2.Canvas.Font.Style := DBGrid2.Canvas.Font.Style + [fsBold];
 DBGrid2.DefaultDrawDataCell(Rect, Field, State);
 if (Field.FieldName="Prim") and (AccTable.RecordCount>0) then
   if Field.Value=true then begin
     DBGrid2.Canvas.Brush.Color:= clWhite;
     DBGrid2.Canvas.FillRect(Rect);
     DBGrid2.Canvas.TextOut(Rect.Left+2,Rect.Top+2,"Да")
   end else begin
     DBGrid2.Canvas.Brush.Color:= clWhite;
     DBGrid2.Canvas.FillRect(Rect);
     DBGrid2.Canvas.TextOut(Rect.Left+2,Rect.Top+2,"Нет")
   end;
end;


 
ggg   (2004-12-08 17:17) [1]

никто не знает, что ли?


 
KSergey ©   (2004-12-09 08:46) [2]

На счет "перестает совсем заходить" - есть большие сомнения. Скорее - просто убираются те колонки, на который у вас навешана проверка?

А вообще - читните тут. Что-то сказать по конкретному случаю на основании приведенной информации я не берусь.

http://www.delphikingdom.com/helloworld/dbgridcolor.htm
http://www.delphikingdom.com/helloworld/mergegrid.htm
http://www.delphikingdom.com/helloworld/nogrid.htm
http://www.delphikingdom.com/helloworld/grid.htm
http://www.delphikingdom.com/helloworld/dbgridplus.htm


 
ggg   (2004-12-09 10:17) [3]

Все, я разобрался. Надо было просто справку почитать :).

OnDrawDataCell обрабатывается в том случае, если DBGrid.Columns.State = csDefault. Если убрать несколько колонок,
DBGrid.Columns.State = csCustomized



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
3-1101389391
СержК
2004-11-25 16:29
2004.12.26
При попытке записи в поле типа DATE выскакивает ошибка


1-1102647545
Relaxxx
2004-12-10 05:59
2004.12.26
Отрезание конца строки, как так сделать?


1-1102537599
Homa_Programer
2004-12-08 23:26
2004.12.26
mailto:


1-1103056913
Zilog
2004-12-14 23:41
2004.12.26
Интерисует как можно сделать панель типа "Microsoft Office".


9-1093586545
Nic
2004-08-27 10:02
2004.12.26
Помогите!