DBGrid,por em Negrito o Registro Selecionado como faço isso?

11/04/2006

como faço p/ por o registro selecionado em negriito no DBGrid, please?

:roll: :?:


Hviana

Respostas

11/04/2006

Aureliovs

Isso deve resolver...

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if gdSelected in State then
  begin
    DBGrid1.Canvas.Font.Style := [fsBold&93;;
    DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
  end;
end;


Um abraço
t+


Responder Citar

11/04/2006

Hviana

Isso deve resolver...
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if gdSelected in State then
  begin
    DBGrid1.Canvas.Font.Style := [fsBold&93;;
    DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
  end;
end;
Um abraço t+


VALEU KRA RESOLVEU!!!! BRIGADU


Responder Citar

29/04/2012

Eniorm

só pra complementar essa dica, eu precisei de algo parecido.

Meu caso eu tenho uma tabela de localizações, e na tabela de clientes eu tenho um campo que guarda o codigo da localização (fk), e no form do cadastro de clientes, eu seleciono a localização no dbgrid.

Baseado na explicação desse tópico, adaptei o código para que, a linha do grid cujo código seja igual ao gravado na tabela do cliente, fique em negrido.
Assim eu tenho destacado qual é a localização escolhida para o cliente.


if (SCDS_Localizacao.FieldByName(codigo).AsInteger = CDS_Cliente.FieldByName(cod_localizacao).AsInteger) then
DBGrid2.Canvas.Font.Style := Font.Style + [fsBold];
DBGrid2.DefaultDrawColumnCell(Rect, DataCol, Column, State) ;
Responder Citar