Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2009, 05:06   #1
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию Перекрашивание строк DBGrid по условию

начало вроде бы так:
IF DBEdit5=1 Then
Begin
дальше не знаю как, в общем необходимо перекрасить в красный свет строку с полем содержащим 1.
ГОСЕАН вне форума Ответить с цитированием
Старый 27.04.2009, 05:48   #2
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

procedure TForm9.DBGrid2DrawColumnCell(Sender : TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DBGrid2.an=1 then begin
with DBGrid2.Canvas do
begin
Brush.Color:=clRed;
Font.Color:=clWhite;
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Colu mn.Field.Text);
end;
end;

Последний раз редактировалось ГОСЕАН; 27.04.2009 в 07:01.
ГОСЕАН вне форума Ответить с цитированием
Старый 29.04.2009, 18:03   #3
Alexander_20
Пользователь
 
Аватар для Alexander_20
 
Регистрация: 29.04.2009
Сообщений: 10
По умолчанию

http://www.citforum.ru/programming/a...advice04.shtml - перейди вот по этой ссылки,может поможет,статья называется
Как изменить цвет строки в TDBGrid
Alexander_20 вне форума Ответить с цитированием
Старый 11.05.2009, 16:59   #4
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Новую тему решила не заводить, т.к. моя проблема именно с этим исвязана... Может кто найдет почему моя процедура уходит в бесконечный цикл.. пожалуйста..

Код:
procedure TFMenu.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
  var
  i,j:integer;
begin
DM.t_katalog.RecNo:=0;
DM.t_takenbooks.RecNo:=0;
for j:=0 to DM.t_katalog.RecordCount do begin
for i:=0 to DM.t_takenbooks.RecordCount do begin
if DM.t_katalog.FieldByName('BARECODE').AsFloat=DM.t_takenbooks.FieldByName('BOOK').AsFloat then begin
DBGrid1.Canvas.Brush.Color:=Clred;
DBGrid1.Canvas.Font.Color:=clWhite;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
end;
DM.t_takenbooks.Next;
end;
DM.t_katalog.Next;
end;
end;
yulia вне форума Ответить с цитированием
Старый 11.05.2009, 23:19   #5
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
По умолчанию

Для таких целей лучше использовать while. Попробуй так

Код:
procedure TFMenu.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
    DM.t_katalog.First;
    DM.t_takenbooks.First;
    while not DM.t_katalog.Eof do
        begin
        while not DM.t_takenbooks.Eof do 
            begin
            if DM.t_katalog.FieldByName('BARECODE').AsFloat=DM.t_takenbooks.FieldByName('BOOK').AsFloat then
                begin
                DBGrid1.Canvas.Brush.Color:=Clred;
                DBGrid1.Canvas.Font.Color:=clWhite;
                DBGrid1.Canvas.FillRect(Rect);
                DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
                end;
            DM.t_takenbooks.Next;
            end;
        DM.t_katalog.Next;
        end;
end;
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нумерация строк в DBGrid artemavd БД в Delphi 8 15.04.2009 20:31
Выделение цветом нужных строк таблицы DBGrid XFilippowX Общие вопросы Delphi 4 16.02.2009 10:02
Количество строк DBGrid AndreyF Общие вопросы Delphi 4 02.12.2008 21:32
Удаление строк массива по условию Lexakazanskij Паскаль, Turbo Pascal, PascalABC.NET 9 12.09.2007 20:32