GARANTIR DESCONTO

Fórum Codigo para transferir linha de um DBGrid para outro DBGrid #342597

14/06/2007

0

Ola, queria fazer o seguinte: o usuário faz uma pesquisa e mostra no DBGrid1, seleciona uma linha no dbgrid1 e clica em um botão para Adicionar aquela linha selecionada do DBGrd1 para outro DBGrid2.


Como fazer isso? por favor se alguem souber poste aqui.


Clenio

Clenio

Responder

Post mais votado

15/06/2007

Os DBGrids estão ligados a tabelas físicas ou os dados estão apenas na memória? Logo que responder eu preparo um exemplo pra vc


Jener

Jener
Responder

Gostei + 1

Mais Posts

16/06/2007

Clenio

Ola, Jener, obigado por tentar me ajudar,

seguinte, O DBGrid1 está ligado a uma Query apenas para fazer a consulta por nome e mostrar o resultado, o DBGrid2 está ligado a uma outra Querycom a mesma estrutura, apenas para mostrar os titulos.

Eu queria que fosse assim: o usuario digita as iniciais e clica no botão para mostrar no dbgrid 1 o resultado, (Isso eu ja fiz) depois que aparecer o resultado da consulta no dbgrid 1 o usuario seleciona um Nome que desejar e clica em um botão para adicionar esse nome ao outro Dbgrig 2, e assim colocaria no dbgrid 2 quantos nomes desejasse, esses nomes que serão adicionados no dbgrid 2 vão ser impressos relatorios pertinentes (para imprimir eu consigo fazer) o problema é que eu nao sei o codigo para colocar no botão para adicionar a linha selecionada no dbgrid 1 para o dbgrid 2.

Desde ja agradeço muito por me ajudar.

abraços.


Responder

Gostei + 0

18/06/2007

Jener

Clenio no link abaixo vc pode bairar um arquivos RAR contendo um pequeno exemplo. Espero que lhe ajude. Continuo a disposição para ajudar no que for preciso.
http://paginas.terra.com.br/informatica/iconeconsultoria/ForumCD.rar


Responder

Gostei + 0

19/06/2007

Clenio

Oi Janer,
Esse link que voce passou está quebrado, parece que tiraram do ar, por favor se voce tiver esse exemplo me envia pelo email, pois estou precisando muito de terminar um projeto enquanto não solucionar esse problema nao consegueirei terminar.

segue meu email, por favor envia o arquivo pra mim, ficarei muito grato.

rclenio@ibest.com.br ou cleniorib@bol.com.br

Desde ja muito obrigado.


Responder

Gostei + 0

21/06/2007

Khundalini

Pense o seguinte:

1) Tanto o DBGrid1 como o DBGrid2 possuem como fontes de dados consultas SQL. Não sei qual a camada de acesso a dados que você está usando (ADO, BDE, dbExpress, etc.) pq vc ñ mencionou isso. Portanto, vou assumir que vc está usando TQuery (BDE);

2) O que se quer na realidade não é transerir uma linha de daods de um DBGrid para outro, e sim transferir uma linha de dados de um dataset para outro. Como o dataset que é usado em ambos os casos é um TQuery, não haveria como fazer tal tarefa, visto que um TQuery por definição sempre é read-only;

3) O mais sensato seria carregar os dados das duas consultas em ClientDataSets. Assim vc trabalharia os dados totalmente em memória e, depois de efetuar os processamentos necessários, aplicar as alterações de fato no banco de dados;

4) Pesquise também na Internet pq tem dicas rolando por aí, inclusive, de como fazer Drag And Drop entre DBGrids.

A dica pra pescar o peixe foi passada. O resto agora é com você!
Boa sorte!


Sds.,
Rubem Rocha
Manaus, AM


Responder

Gostei + 0

21/06/2007

Khundalini

Pense o seguinte:

1) Tanto o DBGrid1 como o DBGrid2 possuem como fontes de dados consultas SQL. Não sei qual a camada de acesso a dados que você está usando (ADO, BDE, dbExpress, etc.) pq vc ñ mencionou isso. Portanto, vou assumir que vc está usando TQuery (BDE);

2) O que se quer na realidade não é transerir uma linha de daods de um DBGrid para outro, e sim transferir uma linha de dados de um dataset para outro. Como o dataset que é usado em ambos os casos é um TQuery, não haveria como fazer tal tarefa, visto que um TQuery por definição sempre é read-only;

3) O mais sensato seria carregar os dados das duas consultas em ClientDataSets. Assim vc trabalharia os dados totalmente em memória e, depois de efetuar os processamentos necessários, aplicar as alterações de fato no banco de dados;

4) Pesquise também na Internet pq tem dicas rolando por aí, inclusive, de como fazer Drag And Drop entre DBGrids.

A dica pra pescar o peixe foi passada. O resto agora é com você!
Boa sorte!


Sds.,
Rubem Rocha
Manaus, AM


Responder

Gostei + 0

21/06/2007

Khundalini

Pense o seguinte:

1) Tanto o DBGrid1 como o DBGrid2 possuem como fontes de dados consultas SQL. Não sei qual a camada de acesso a dados que você está usando (ADO, BDE, dbExpress, etc.) pq vc ñ mencionou isso. Portanto, vou assumir que vc está usando TQuery (BDE);

2) O que se quer na realidade não é transerir uma linha de daods de um DBGrid para outro, e sim transferir uma linha de dados de um dataset para outro. Como o dataset que é usado em ambos os casos é um TQuery, não haveria como fazer tal tarefa, visto que um TQuery por definição sempre é read-only;

3) O mais sensato seria carregar os dados das duas consultas em ClientDataSets. Assim vc trabalharia os dados totalmente em memória e, depois de efetuar os processamentos necessários, aplicar as alterações de fato no banco de dados;

4) Pesquise também na Internet pq tem dicas rolando por aí, inclusive, de como fazer Drag And Drop entre DBGrids.

A dica pra pescar o peixe foi passada. O resto agora é com você!
Boa sorte!


Sds.,
Rubem Rocha
Manaus, AM


Responder

Gostei + 0

23/06/2007

Clenio

Obrigado pela dica, vou dar uma pesquisada pra ver se consigo encontrar alguma coisa.

valeu. abraços.


Responder

Gostei + 0

24/06/2007

Paullsoftware

Obrigado pela dica, vou dar uma pesquisada pra ver se consigo encontrar alguma coisa. valeu. abraços.

Na realidade não precisa procurar muito não... no Portal da ClubeDelphi tem alguns artigos que mostram os segredos do DbGrid (Guinther Paulli) da uma olhada lá blz!
aqui é só um exemplo, https://www.devmedia.com.br/articles/viewcomp.asp?comp=400 mais dê uma pesquisada sobre DbGrid que vai encontrar muito mais... :wink:


Responder

Gostei + 0

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

Aceitar