Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
14-1102369948
matt
2004-12-07 00:52
2004.12.26
Сигареты


1-1102956645
Dema-X
2004-12-13 19:50
2004.12.26
что за qtintf70.dll


14-1102435800
RDA
2004-12-07 19:10
2004.12.26
расчет зарплаты по сдельной системе оплаты труда


3-1101295329
Clone
2004-11-24 14:22
2004.12.26
DBGrid, Lookup Field, "Non-nullable column cannot be updated..."


3-1101219425
Skywalker
2004-11-23 17:17
2004.12.26
Как выбрать из базы определенной количество записей?




   Наверх