Всем доброго времени суток.
Мне нужно покрасить ячейки в StringGriad под разные значения которые были заведомо занесены в БД я использую код такого вида:
Код:
procedure TCalendar_cadr.AdvStringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
txtWidth: Integer;
begin
if AdvStringGrid1.Cells[ACol,ARow] = DataModule1.ADOQuery12.FieldByName('Обозначение').AsString
then begin
AdvStringGrid1.Canvas.Brush.Color := DataModule1.ADOQuery12.FieldByName('Цвет').AsInteger;
AdvStringGrid1.Canvas.FillRect (Rect);
AdvStringGrid1.Canvas.TextRect (Rect, Rect.Left + 2, Rect.Top + 2, AdvStringGrid1.Cells[ACol,ARow]);
with (Sender as TStringGrid) do
begin
txtWidth := Canvas.TextWidth(Cells[ACol, ARow]);
if ColWidths[ACol] < txtWidth then ColWidths[ACol] := txtWidth + 3;
end;
end;
end;
Но этот код позволяет окрашивать только какое то одно значение, в тот момент когда мне нужно несколько разных.
И ещё вопрос.
Как в StringGrid сохранять значения ячеек чтобы открыл программу а там он уже был бы заполнен.
Заранее благодарен.