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 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.
    • Por Marcelo_Ribeiro
      E aí pessoal, tudo bem? 
      Quero montar um sistema que irá acessar um banco de dados Firebird em outra máquina. 
      Consegui fazer a conexão via socket. Criei um remote data module, criei um server, e pelo socket server, consegui fazer a conexão. 
      Mas tem um porém. To usando Firebird. No meu note, tô com o server rodando, e rodei o client tb. Ao mesmo tempo, rodei o client em outro pc. 
      Tenho uma tabela teste que possui 6 registros. Ao abrir o client nos 2 pcs, a consulta traz os 6 registros. No meu note, crio um 7º registro. Mas no outro pc, ao consultar, ele só traz 6 registros. Se eu fechar e abrir de novo, ao consultar traz os 7. 
      Criei o remote data module como Instancing = Multiple instance e Threading Model = Single. Será que isso tem alguma coisa a ver? 
       
      Instalei o Sql Server. Fazendo tudo do mesmo jeito, o Sql server atualiza, mas o firebird não. Será que é limitação?
       
      Valeu pessoal 
      Abs
       
×

Informação importante

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