Алексей, помоги разобраться пожалуйста
Добавил вот такой обработчик
- Код: Выделить всё
procedure TMainForm.GridReDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
//var FontText:TColor;
begin
//FontText := tDBGrid(Sender).Canvas.Font.Color;
if (not (gdFocused in State)) and (not (gdSelected in State)) then begin
if (tDBGrid(Sender).DataSource.DataSet.FieldByName('id_status').AsInteger in [1,6])
then tDBGrid(Sender).Canvas.Font.Color := clRed else
if (tDBGrid(Sender).DataSource.DataSet.FieldByName('id_status').AsInteger in [5,8])
then tDBGrid(Sender).Canvas.Font.Color := clGray else
if (tDBGrid(Sender).DataSource.DataSet.FieldByName('id_performer').AsInteger = UserID)
then tDBGrid(Sender).Canvas.Font.Color := clMaroon else
if (tDBGrid(Sender).DataSource.DataSet.FieldByName('id_client').AsInteger = UserID)
then tDBGrid(Sender).Canvas.Font.Color := clNavy else
end;
tDBGrid(Sender).DefaultDrawColumnCell (Rect, DataCol, Column, State);
//tDBGrid(Sender).Canvas.Font.Color := FontText;
end;
В результате последняя колонка не отрисовывается.
Куда копать? Или бага?
Добавлено спустя 7 часов 28 минут 41 секунду:Если сделать так:
- Код: Выделить всё
GridRe.Options:= GridRe.Options - [dgindicator];
То первая колонка (индикатор), понятное дело, пропадает, но последняя отображается корректно.
Все таки баг? Не?