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

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

выделение записей цветом простом DBGRID е или DBGRIDEH е


Stas ©   (2003-02-24 16:44:00) 

Если кто знает как выделить запись цветом в простом Dbgride или в Dbgrideh, подскажите пожалуйста.


ava   (2003-02-24 22:53:00) [1]

procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
If ( условие ) then With DBGrid2.Canvas do
Begin

FillRect(Rect);
Font.Color := clRed;
TextOut (Rect.left+1, Rect.Top+2, Column.Field.Text)

end else

DBGrid2.DefaultDrawColumnCell (Rect,DataCol,Column,State)
end;


AM   (2003-02-24 19:19:00) [2]

На королевстве Delphi был?

http://www.delphikingdom.com/helloworld/dbgridcolor.htm


ermserg   (2003-02-24 19:10:00) [3]

to Leshiy:
Eto ne pravilno i chrevato kuchey Exceptions ( strtofloat(Column.Field.Text) ). Zachem risovat na Canvase esli dostatochno izmenit Font i Brush kak tebe nuzhno i vizvat DefaultDrawColumnCell.
to Stas. Ya 90% uveren, chto etot vopros est v FAQ"e.


Леший_   (2003-02-24 17:05:00) [4]

Это небольшой фрагмет в виде примерчика...

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Im1: TBitmap;
begin
with DBGrid1.Canvas do
begin
if (Column.Field.FieldName = "......") and
not (gdSelected in State) then
if strtofloat(Column.Field.Text)=1 then
begin
Brush.Color:=clRED;
Font.Color:=clWHite;
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,FormatFloat("### ### ###.##",StrToFloat(Column.Field.Text)));
exit;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State)
end;


Наверх

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