Fórum DBGrid - Capturar os Valores #325878

22/07/2006

0

Bom Pessoal... tenho uma pesquisa em MySQL que esta ativa somente em tempo de execução... mas preciso copiar alguns valores da pesquisa...

Pensei em capturar do DBGrid quando clico duas vezes... desta forma os valores seriam gravados nos ´Edits´ respectivos...

CodCliente
NomeCliente
etc...

ao clicar duas vezes... eu preciso fazer uma copiar do valor da Coluna CodCliente no EditCodCliente
NomeCliente no EditNomeCliente
e assim por diante...

se alguém puder me ajudar... Fico Grato...


Adelor Silva

Adelor Silva

Responder

Posts

24/07/2006

Aroldo Zanela

Colega,

A dbGrid possui um manipulador de evento para o duplo clique. Adicione algo como:

.
.
.
EditCodCliente.Text  := TABELACodCliente.AsString;
EditNomeCliente.Text := TABELANomeCliente.Value;
.
.
.



Responder

Gostei + 0

24/07/2006

Adelor Silva

Primeiramente gostaria de agradecer sua colaboração...

mas eu preciso obter os valores de um DBGrid1 que esta apontando para uma ZQuery1...

da forma que você passou ele captura o primeiro registro da Tabcliente cadastrado...

se puderes me ajudar ... agradeço...


Responder

Gostei + 0

24/07/2006

Night_man

foce ja tentou fazer on evento afterscrroll da query


EditCodCliente.Text := dataset.fieldByName(´CodCliente´).AsString;
EditNomeCliente.Text := dataset.fieldByName(NomeCliente´).AsString;


Responder

Gostei + 0

24/07/2006

Adelor Silva

Muito obrigado NiGTH_MaN...

Desta forma funcionou... qdo eu clico sobre as linhas do DBGrid1 os mesmos valores aparece Edits...

mas se você souber como posso fazer dando dois clidks sobre o DBGrid1, ficaria mais adequado com o objetivo do projeto...

mas mesmo assim... muito obrigado... pela sua disponibilidade...


Responder

Gostei + 0

24/07/2006

Night_man

No evento OnMouseDown do DBGrid tenta colocar isso

if (Shift in ssDouble) then
begin
EditCodCliente.Text := Query.fieldByName(´CodCliente´).AsString;
EditNomeCliente.Text := Query.fieldByName(´NomeCliente´).AsString;
end;


Responder

Gostei + 0

24/07/2006

Adelor Silva

Muito Obrigado... Muito Obrigado...

Fico grato pela sua colaboração... tudo esta ok... como deveria ser...

Um abraço meus amigos...


Responder

Gostei + 0

25/07/2006

Marco Salles

Sei que esta tudo resolvido , mas como a duvida de uns pode ser a duvida de outros amanhã . eu sinceramente não entendi porque que o promeiro post do Aroldo não solucioneou o problema :cry: :cry: :cry:

A dbGrid possui um manipulador de evento para o duplo clique. Adicione algo como:

Aroldo
Código: procedure TForm2.DBGrid1DblClick(Sender: TObject); begin EditCodCliente.Text := TABELACodCliente.AsString; EditNomeCliente.Text := TABELANomeCliente.Value; end;



Adelor da Silva
da forma que você passou ele captura o primeiro registro da Tabcliente cadastrado...


Não deveria capturar o registro selecionado da Grid , sendo ele primeiro , ultimo , ou do meio ??? :cry: :cry: :cry:


Responder

Gostei + 0

25/07/2006

Adelor Silva

É que se eu fizer da forma que o Aroldo passou... (reforço que agradeço toda a ajuda, indiferente de quem postou...)

begin
EditCodCliente.Text := TABELACodCliente.AsString;
EditNomeCliente.Text := TABELANomeCliente.Value;
end;

eu estaria pegando direto da tabela_Cliente...

e o que eu precisava era pegar da ZQuery_Cliente... Quando eu clico duas vezes no DBGrid1 (que esta ligado a ZQuery_Cliente) tenho que passar estas informações para os Edits... a linha de comando que eu não sabia era justamente:

procedure TFrmPsqCli.DBGrid1DblClick(Sender: TObject);
begin
FrmLote.DBEdit4.Text := DmDados.QryPsqCli.FieldByName(´NmCli´).AsString;
FrmLote.DBEdit3.Text := DmDados.QryPsqCli.FieldByName(´CodCli´).AsString;
end;


Responder

Gostei + 0

26/07/2006

Marco Salles

mas o que o aroldo , acredito , eu lhe sugeriu , não era para voce pegar os dados da tabela Cleinte,.. Ele nen sabia que voce tinha esta tabela no seu projeto , qual era os seus Tfields , seu Componentes de Acesso etc...
. Ele apenas usou um termo generico , aonde ele lhe quis indicar o evento , aonde voce pudesse capturar o que voce estava proprondo...

Por isso eu insiste no tópico , que do jeito que foi finalizado , deu a entender que o evento OnDBGrid1DblClick [b:641e327efe]não[/b:641e327efe] lhe serveria, o que não é verdade


Responder

Gostei + 0

26/07/2006

Adelor Silva

Acredito ter entendido o que você quis dizer... mas devido a minha inesperiencia... no assunto... não entendi quando o Aroldo passou a dica... gostaria de pedir desculpas ao Aroldo... afinal sou novato e estou estudando Delphi em casa nos finais de semana... sempre fui apaixonado pela idéia de poder programar... mas na minha cidade (Taió-SC) não temos por perto um curso que traga este conhecimento... ao conhecer este forum notei que o pessoal tira várias dúvidas...

Entendo que as vezes é um pouco difícil ajudar, principalmente aos iniciante como eu... mas é digamos minha unica forma de aprender programação... e fico muito feliz e agradecido por ela existir...

Entendo sua preocupação com o fato de eu dizer que o post do Aroldo não havia solucionado minha dúvida... mas foi por ignorância minha mesmo...

Mas volto a agradecer a todos... incluseve você Marcos... Pois posso ver que todos levam a sério as participações... até mesmo a dos iniciantes como eu... e é justamente por isso que eu participo e faço comentários positivos ao www.devmedia.com.br quando estou discutindo com amigos sobre programação...

Um Abraço a Todos...


Responder

Gostei + 0

26/07/2006

Marco Salles

é isso ai amigo . estamos sempre á disposição para trocarmos nossas experincias


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar