![]() |
|
|
#1
|
||||
|
||||
|
Всё просто, есть DBGride завязанный на БД Акцессе. Нужно, чтоб строка окрашивалась в зависимости от значения в колонке 'Результат', 'В процессе' строка окрашивалась в жёлтый, 'Выкуплен'-зелёный, а 'Вернулся'-красный. Еслиб был integer сделал бы через case, но тут String . . . Расмотрю любые варианты если можно с кодом.
|
|
#2
|
|||
|
|||
|
Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
//если значение ячейки = 'В процессе', тогда желтая строка
if Pos('В процессе',StringGrid1.Cells[1,1])<>0 then
begin
StringGrid1.Canvas.Brush.Color := clYellow;
// закрашиваем третью строку
if ARow = 2 then
StringGrid1.Canvas.FillRect(Rect);
end;
end; |
|
#3
|
||||
|
||||
|
Можно немного упростить:
для первого проверять наличие "сс" для 2 - "ы" для 3 - "ул" |