Ir para conteúdo
suporti2011

OnDrawColumnCell do Dbgrid

Recommended Posts

Boa tarde a todos(as).
Sou Iniciante no delphi, estou montando um sistema de cadastro de produtos e emissão  de nfe usando o ACBR.
Cheguei em uma barreira estou a 3 dias tentando passa la , tenho duas tabelas  tabela 01, e tabela 02,
Quando cadastro uma nota fiscal de entrada, primeiro o produto entra na tabela 01 depois passa para a tabela 02, fiz o código abaixo para determinar o seguinte:

TFrmXmlNfe.DBGridProdutosDrawColumnCell
begin
  ean := SqlProdutoscodbarras.AsString;

  If TBLPRODUTOSTEMPcodbarras.AsString = ean then
  DBGridProdutos.Canvas.Font.Color:= clFuchsia;
  DBGridProdutos.DefaultDrawDataCell(Rect, DBGridProdutos.columns[datacol].field, State);

end;  

Faço uma pesquisa na tabela 02 se existe um produto com o mesmo código de barras do produto que estou cadastrando.
Criei uma varial chamada  EAN  pra pegar o registro do sql
E coloquei o código no OnDrawColumnCell do Dbgrid.

O código estar funcionando, mais, ele estar pegando apenas o ultimo registro da tabela, por ex se na tabela 01 existe 3 produtos iguais aos da tabela 02 ele registra apenas o ultimo item, isso se o ultimo item for igual ao da tabela 02.
Por ex: se na tabela 01 tem 5 itens e o item de num 4 for igual ao da tabela 02 ele não registra.

Resumindo estou querendo que quando eu cadastrar um produto, se este produto já existe que ele fique de outra cor.
Algum dos colegas poderiam me ajudar ?

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Joelend
      Estou utilizando TPasLibVlcPlayer para reprodução de videos e preciso que estes sejam exibidos sem áudio. 
      Tentei utilizar a função "vlc.SetAudioMute(true); " porem não funcionou... 
      Olhando a documentação encontrei isso: 

      "Aviso 
      Esta função nem sempre funciona. Se não houver fluxo de reprodução de áudio ativo, o status de mudo poderá não estar disponível. Se a passagem digital (S / PDIF, HDMI ...) estiver em uso, o muting pode não ser aplicável. Além disso, alguns plug-ins de saída de áudio não suportam muting. 
      Nota 
      Para forçar a reprodução silenciosa, desative todas as faixas de áudio. Isso é mais eficiente e confiável do que o mudo." 

      No meu caso, estou utilizando o HDMI. Minha duvida é sobre como desativar as faixas de audio. 

      Alguém saberia ajudar?
    • Por felk_fel@hotmail.com
      Boa tarde a todos!

      De vez em quando, acontece isso comigo, o Delphi compila a aplicação mas ela não roda ou fecha sozinha...Para resolver eu estou sempre tendo que fechar o delphi e criar uma nova aplicação. Alguém poderia me ajudar conforme o vídeo abaixo?

      https://www.youtube.com/watch?v=cFBJSS5yTN8

      Agradeço pela atenção.
    • Por Felipe Garciax
      Ola,
       
      Estou com o seguinte problema, no formulario principal do meu projeto tenho um SplitView e um Image em AlClient com uma imagem em 193 kb, ao abrir e fechar o SplitView em execucao a imagem PISCA, ja usei no OBJECT INSPECTOR o DoubleBuffered em TRUE tanto para o form quanto para o SplitView e o problema persiste, ja fiz o teste no codigo tanto para o EVENTO OnShow e OnCreat:
      DoubleBuffered :=True;  e nenhum resultado... Help Me
    • Por ericborrero
      Boa Noite a todos ....
       
      aguem pode me ajudar com esse código.... preciso que ele procure o menor valor e não o maior como esta aqui
       
       
       
      Procedure TfrmAvaliacao.PiorTempo;
      var
        ArrayString: Array [1 .. 5] of string;
        PiorTempo: string;
        i: Integer;
      begin
        ArrayString[1] := dbtext2.Caption;
        ArrayString[2] := dbtext4.Caption;
        ArrayString[3] := dbtext6.Caption;
        ArrayString[4] := dbtext8.Caption;
        ArrayString[5] := dbtext10.Caption;
        PiorTempo := EmptyStr;
          for i := low(ArrayString) to high(ArrayString) - 1 do
          if PiorTempo < ArrayString then
            PiorTempo := ArrayString;

        Label210.Caption := PiorTempo;
       
      end;
       
    • Por Remeling
      Ola pessoal,
      Estou fazendo um sistema web em Delphi xe8 Intraweb, coloco os objetos no form e quando vou compilar o sistema, aparece somente a pagina em branco, o que estou fazendo errado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.