Evento correto para fazer pesquisa na grid?
Bom dia!
Bom dia meus amigos do portal, tenho certeza que esta minha dúvida será sanada neste portal, vamos lá.
Tenho uma tela de digitacao de pedido, na grid o usuario digita o codigo do produto, quantidade e valor unitario da venda, temho que fazer a pesquisa no cadastro de produto para trazer a descrição, qual é o evento correto para fazer a pesquisa. Segue abaixo um ex. da minha pesquisa.
Esta pesquisa está no evento oncalcfield, na revista 54 do clubedelphi diz que é um suicidio fazer esta pesquisa, só que não mostra qual é o evento corrento, então resolvi recorrer ao porta.
Ex da minha pesquisa na grid
cdsDetalheVrTotal.AsCurrency := (cdsDetalhePIT_QTDEVENDIDA.AsCurrency *
(cdsDetalhePIT_VALORUNITARIO.AsCurrency - (cdsDetalhePIT_VALORUNITARIO.AsCurrency * cdsDetalhePIT_PERCENTUALDESCONTO.AsCurrency / 100)));
with TSQLQuery.Create(nil) do
begin
try
SQLConnection := FrmPrincipalSGCAdm.SQLConnection1;
Sql.Add(´SELECT PROD_CODIGO, PROD_DESCRICAOPRODUTO, PROD_QTDEESTOQUEFISICO FROM RODUTO´);
Sql.Add(´WHERE EMP_CODIGO =´ +IntToStr(FrmPrincipalSGCAdm.CodEmpresa));
Sql.Add(´AND PROD_CODIGO = ´+IntToStr(cdsDetalhePROD_CODIGO.AsInteger));
Open;
cdsDetalheDescProd.AsString := Fields[1].AsString;
cdsDetalheQtdeFisica.AsCurrency := Fields[2].AsCurrency;
finally
Free;
end;
end;
Utilizo delphi 7 banco firebird 1.5 e componente dbExpress
´A palavra de Deus não é um peso, mas um componente da nossa jornada´
Obrigado pela atenção
Bom dia meus amigos do portal, tenho certeza que esta minha dúvida será sanada neste portal, vamos lá.
Tenho uma tela de digitacao de pedido, na grid o usuario digita o codigo do produto, quantidade e valor unitario da venda, temho que fazer a pesquisa no cadastro de produto para trazer a descrição, qual é o evento correto para fazer a pesquisa. Segue abaixo um ex. da minha pesquisa.
Esta pesquisa está no evento oncalcfield, na revista 54 do clubedelphi diz que é um suicidio fazer esta pesquisa, só que não mostra qual é o evento corrento, então resolvi recorrer ao porta.
Ex da minha pesquisa na grid
cdsDetalheVrTotal.AsCurrency := (cdsDetalhePIT_QTDEVENDIDA.AsCurrency *
(cdsDetalhePIT_VALORUNITARIO.AsCurrency - (cdsDetalhePIT_VALORUNITARIO.AsCurrency * cdsDetalhePIT_PERCENTUALDESCONTO.AsCurrency / 100)));
with TSQLQuery.Create(nil) do
begin
try
SQLConnection := FrmPrincipalSGCAdm.SQLConnection1;
Sql.Add(´SELECT PROD_CODIGO, PROD_DESCRICAOPRODUTO, PROD_QTDEESTOQUEFISICO FROM RODUTO´);
Sql.Add(´WHERE EMP_CODIGO =´ +IntToStr(FrmPrincipalSGCAdm.CodEmpresa));
Sql.Add(´AND PROD_CODIGO = ´+IntToStr(cdsDetalhePROD_CODIGO.AsInteger));
Open;
cdsDetalheDescProd.AsString := Fields[1].AsString;
cdsDetalheQtdeFisica.AsCurrency := Fields[2].AsCurrency;
finally
Free;
end;
end;
Utilizo delphi 7 banco firebird 1.5 e componente dbExpress
´A palavra de Deus não é um peso, mas um componente da nossa jornada´
Obrigado pela atenção
Placido
Curtidas 0
Respostas
Placido
31/08/2004
Nenhuma dica?
GOSTEI 0
Aroldo Zanela
31/08/2004
Colega,
Eu não sei qual seria a sugestão do autor, na verdade não encontrei esta referência no número 54 da CD. Eu normalmente não utilizo edição direta em Grids, reservando-as apenas para exibição. No caso, eu utilizo alguns componentes de edição na parte superior do formulário (dbEdits, dbLkps, etc) e botões de ação e na parte inferior, uma gird para visualização.
Eu não sei qual seria a sugestão do autor, na verdade não encontrei esta referência no número 54 da CD. Eu normalmente não utilizo edição direta em Grids, reservando-as apenas para exibição. No caso, eu utilizo alguns componentes de edição na parte superior do formulário (dbEdits, dbLkps, etc) e botões de ação e na parte inferior, uma gird para visualização.
GOSTEI 0
Placido
31/08/2004
Aroldo obrigado pela atenção.
Mas a referência está na página 44 pergunta número 13. do artigo
Soluções para acesso a BD, dicas sobre dbExpress.
Grato
Mas a referência está na página 44 pergunta número 13. do artigo
Soluções para acesso a BD, dicas sobre dbExpress.
Grato
GOSTEI 0
Aroldo Zanela
31/08/2004
Colega,
Mas naquele exemplo, ele já sugere substituir a criação do campo de Calculated para InternalCalc, e testar se o estado do DataSet é dsInternalCalc mantendo o tratamento no evento OnCalcFields.
Mas naquele exemplo, ele já sugere substituir a criação do campo de Calculated para InternalCalc, e testar se o estado do DataSet é dsInternalCalc mantendo o tratamento no evento OnCalcFields.
GOSTEI 0