Jump to content

Compre o Delphi
Com até 30% de desconto
e parcelado em até 12x sem juros

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Recommended Posts

Estou migrando meus sistemas para o Lazarus e me deparei com um problema.

Eu filtro os registros que estão amarrados ao DBGrid, aí ele me mostra a informação assim:

image.png.42adac17d7b9b26c6a00479c830386d0.png

O Campo índice tem valor na segunda linha, mais não aparece logo após o filtro, porém se eu clicar sobre a linha, ele passa a aparecer....

image.png.d4e1c5c900f803be0a7f1a9eb00d8f74.png

Alguém teria ideia do que pode ser?

 

image.png

Share this post


Link to post
Share on other sites

Você customizou o OnPaint ?

Pode ser ainda alguma configuração de Cores no DBGrid 

Veja o Link abaixo... tem muita informação sobre Grids no Lazarus... do básico ao avançado...

https://wiki.lazarus.freepascal.org/Grids_Reference_Page


Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Share this post


Link to post
Share on other sites

Valeu Daniel, era isso  mesmo, tinha uma rotina o evento DrawColumnCell, assim:

begin
  //inverte a cor quando selecionado
  if gdSelected in State
  then
    begin
      TDBGrid( Sender ).Canvas.Brush.Color := clHighlight;
      TDBGrid( Sender ).Canvas.Font.Color  := clHighlightText;
      TDBGrid( Sender ).Canvas.Pen.Color := Brush.Color;
    end
  else
    begin
      if DMBDComum.IbQrPesquisaPRO_DESATIVADO.AsString = '1'
      then
        TDBGrid( Sender ).Canvas.Font.Color := clRed;
      if DMBDComum.IbQrPesquisaPRO_SELECIONADO.AsString = '1'
      then
        TDBGrid( Sender ).Canvas.Font.Color := clBlue;
    end;
  TDBGrid( Sender ).DefaultDrawColumnCell( Rect, DataCol, Column, State );
end;

a última linha, TDBGrid( Sender ).DefaultDrawColumnCell( Rect, DataCol, Column, State );, estava no lugar errado, tem que ser antes do end, assim:

begin
  //inverte a cor quando selecionado
  if gdSelected in State
  then
    begin
      TDBGrid( Sender ).Canvas.Brush.Color := clHighlight;
      TDBGrid( Sender ).Canvas.Font.Color  := clHighlightText;
      TDBGrid( Sender ).Canvas.Pen.Color := Brush.Color;
    end
  else
    begin
      if DMBDComum.IbQrPesquisaPRO_DESATIVADO.AsString = '1'
      then
        TDBGrid( Sender ).Canvas.Font.Color := clRed;
      if DMBDComum.IbQrPesquisaPRO_SELECIONADO.AsString = '1'
      then
        TDBGrid( Sender ).Canvas.Font.Color := clBlue;
      TDBGrid( Sender ).DefaultDrawColumnCell( Rect, DataCol, Column, State );
    end;
end;

  • Like 2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...