Jump to content

DBGrid DrawRow


MSMK

Recommended Posts

procedure TfrmEdtRetSale.undbgrdPayDrawColumnCell(Sender: TObject; ACol,

  ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs);

begin

  if qryPaymentsVISIBLE.Value=0 then

  begin

    Attribs.Font.Style:=[fsStrikeOut];

    Attribs.Color:=clRed;

  end;

end;

 

Спасибо! Все работает

Link to comment
Share on other sites

Странный какой-то код. Мне кажется, что нужно так:

procedure TfrmEdtRetSale.undbgrdPayDrawColumnCell(Sender: TObject; ACol,
  ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs);
begin
  if ARow=0 then
  begin
    Attribs.Font.Style:=[fsStrikeOut];
    Attribs.Color:=clRed;
  end;
end;
Link to comment
Share on other sites

  • 9 months later...

Уважаемый Токай, скажи пожалуйста, а как мне выделить не конкретную строку.

А строку в которая определенная ячейка имеет определенное значение (значение меньше 20 например).

if Column.FieldName = 'KOEF' then
  begin
    Attribs.Color := RGB(219, 248, 255);
    if Column.Field.AsInteger > 20 then
    begin
      if ARow = 0 then
      begin
        Attribs.Font.Color := clRed;
        Attribs.Color := RGB(219, 248, 255);
      end;
    end;
  end;

По данному коду он выделит мне эту ячейку в поле KOEF, а мне надо ячейку рядом выделить, ну или хотя бы всю строку.

Link to comment
Share on other sites

Quote

А строку в которая определенная ячейка имеет определенное значение (значение меньше 20 например).

тут традиционно важно понимать, что данные хранятся не в гриде, а в наборе данных. из этого и исходить:

if DataSet.FieldByName('COEFFICIENTS').AsInteger > 20 then

......

ну и дальше красить на что хватает фантазии.

Link to comment
Share on other sites

От души брат.

Шерзод вот такое подсказал:

if Column.Field.DataSet.FieldByName('KOEF').AsInteger > 20 then
  begin
    Attribs.Color := RGB(230, 184, 183)
  end;

Спасибо!

Link to comment
Share on other sites

  • 4 weeks later...
On 9/3/2018 at 3:49 PM, =GGG= said:

Возможно ли в DBGrid закрасить конкретную строку? на данный момент нашел только возможность закрасить ячейку

А у меня все наоборот. Надо ячейку закрасить, а я знаю, как закрасить всю строку. Не подскажешь?

Link to comment
Share on other sites


 
On 7/6/2019 at 6:56 PM, baha said:

А у меня все наоборот. Надо ячейку закрасить, а я знаю, как закрасить всю строку. Не подскажешь?

undbgrdPayDrawColumnCell(Sender: TObject; ACol,
  ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs);
 
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...