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

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

Цветные ячейки в TDataBaseGrid? [D7, WinXP]


Артем К. ©   (2004-11-10 14:03:00) 

Здравствуйте, Мастера!

Подскажите пожалуйста, как закрасить ячейки красным цветом по определенному полю, если значения в другом поле удовлетворяют некоторому условию?

Заранее спасибо!


Артем К.   (2004-11-11 16:07:00) [1]

Наверное стоит объясниь чего я хочу сделать.

Есть поле - "дата" (11.11.2004 например);
Есть поле - "потребление" (число);

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

Т.е. определяю по дате, что это за день недели, через функции:

day_date: TDateTime;
...
day_date := EncodeDate(year, month_index,day_index);
day_N := DayOfTheWeek(day_date);
...


Т.е. для субботы day_N = 6, а для воскресенья day_N = 7;

Как теперь отобразить значения по полю "потребление" красным цветом для выходных дней?


Fay   (2004-11-10 15:37:00) [2]

2 Артем К.   (10.11.04 15:32) [2]
Сравнить Column.FieldName c 'LAST_NAME'


Артем К.   (2004-11-10 15:32:00) [3]

>>P.N.P.
В Вашем случае прорисовка пойдет по полю 'LAST_NAME', если значение будет 'Jones', а как сделать, чтобы если в поле 'FIRST_NAME' значение 'Jone', то поле 'LAST_NAME' отрисовать красным.


P.N.P.   (2004-11-10 14:58:00) [4]

Так например:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if TDBGrid(Sender).DataSource.DataSet.FieldByName('LAST_NAME').AsString='Jones' then
 begin
   TDBGrid(Sender).Canvas.Brush.Color:=clRed;
   TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
 end;
end;


Наверх

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