DBGrid
Olá
Como faço para na minha tela de pesquisa, quando eu der dois cliques em cima de algum resultado, ele abra a tela de cadastro mostrando o cadastro do ítem em que cliquei.
Vlw
Como faço para na minha tela de pesquisa, quando eu der dois cliques em cima de algum resultado, ele abra a tela de cadastro mostrando o cadastro do ítem em que cliquei.
Vlw
Franck.c
Curtidas 0
Respostas
Douglas Bitencourt
03/12/2003
a sua tela de cadastro tem dbEdits para representar os campos da tabela?
que tipo de componente está usando para ligar a tabela (Ado, BDE...)?
nos testes que fiz aki, apenas selecionei o registro no dbgrid e no form de pesquisa coloquei dbEdits com sua propriedade detasource apontando para a tabela e campos em questão, e o registro selecionado vem inteiro,
cada campo em seu dbEdit.
espero ter ajudado.
[]s
Douglas.
que tipo de componente está usando para ligar a tabela (Ado, BDE...)?
nos testes que fiz aki, apenas selecionei o registro no dbgrid e no form de pesquisa coloquei dbEdits com sua propriedade detasource apontando para a tabela e campos em questão, e o registro selecionado vem inteiro,
cada campo em seu dbEdit.
espero ter ajudado.
[]s
Douglas.
GOSTEI 0
Franck.c
03/12/2003
não...naum é assim..vou explicar mais detalhado... eu tenho uma tabela chamada esquema. No form de pesquisa (FPesqEsquema) tem um edit e um dbgrid. depois de fazer a pesquisa, clicando em cima do registro encontrado eu quero q abra a tela do cadastro (FCadEsquema) com o registro específico q foi clicado. A Pesquisa já está toda correta. Só falta fazer essa parte de dar dois cliques em cima do resgitro e ele ir para q tela de cadastro.
Por Favor, me ajudem é urgente!!!!
Por Favor, me ajudem é urgente!!!!
GOSTEI 0
Franck.c
03/12/2003
o nome da minha tabela é Esquema e eu uso paradox
GOSTEI 0
Douglas Bitencourt
03/12/2003
tenta o seguinte:
selecione o dbGrid no form FPesqEsquema
no evento OnDblClick do dbGrid digite...
FPesqEsquema.showModal; (ou somente Show)
fica mais ou meno assim...
testa ae e avisa se funcionou.
[]s Douglas.
selecione o dbGrid no form FPesqEsquema
no evento OnDblClick do dbGrid digite...
FPesqEsquema.showModal; (ou somente Show)
fica mais ou meno assim...
procedure FPesqEsquema.dbGridDblClick(Sender: TObject); begin frmCadastrar.Show; //ou ShowModal end;
testa ae e avisa se funcionou.
[]s Douglas.
GOSTEI 0
Franck.c
03/12/2003
não funciono nenhuma das duas maneiras :(
GOSTEI 0
Douglas Bitencourt
03/12/2003
quando vc clica 2 vs no registro não abre o form desejado?
cole aqui o código que vc usou...
cole aqui o código que vc usou...
GOSTEI 0
Franck.c
03/12/2003
abre, mas eu preciso q quando abrir fike no registro q eh cliquei na tela de pesquisa
GOSTEI 0
Franck.c
03/12/2003
application.createform(tFCadEsquema,FCadEsquema);
FCadEsquema.show;
FCadEsquema.show;
GOSTEI 0
Douglas Bitencourt
03/12/2003
bom,
o que fiz aki e funciono foi colocar no form que abre, dbEdits que se relacionam com a tabela que to pesquisando e no form de pesquisa coloquei um botão de comando para abrir o form.
então ao selecionar o registro e clicar no botão o registro aparece automaticamente.
tb usei paradox.
tb testei no evento OnCellClick do dbGrid e funcionou.
testei o botao e tb funciono.
e os 2 clicks tb.
verifique se a propriedade Options/dgRowSelect esta setada como true.
o que fiz aki e funciono foi colocar no form que abre, dbEdits que se relacionam com a tabela que to pesquisando e no form de pesquisa coloquei um botão de comando para abrir o form.
então ao selecionar o registro e clicar no botão o registro aparece automaticamente.
tb usei paradox.
tb testei no evento OnCellClick do dbGrid e funcionou.
testei o botao e tb funciono.
e os 2 clicks tb.
verifique se a propriedade Options/dgRowSelect esta setada como true.
GOSTEI 0
Franck.c
03/12/2003
tá ativado, mas tu sabe como faz o que eu kero?
GOSTEI 0
Douglas Bitencourt
03/12/2003
bom, eu acho que entendi.
quando vc seleciona o reg vai para o cadastro do reg selecionado.
eu conheço esta forma que te passei, e uma que quando seleciona na tela de pesq fecha a tela de pesq e volta pro cad com o reg que foi selecionado.
no mais, não sei mais.
quando vc seleciona o reg vai para o cadastro do reg selecionado.
eu conheço esta forma que te passei, e uma que quando seleciona na tela de pesq fecha a tela de pesq e volta pro cad com o reg que foi selecionado.
no mais, não sei mais.
GOSTEI 0
Franck.c
03/12/2003
Alguém pode me ajudar???????
GOSTEI 0
Cabreu.jr
03/12/2003
no form de cadastro coloque uma query tipo
´select * from Esquema where codesquema = :codesquema´
no on dblclick da grid passe o parametro para query e abra o form.
vai ficar algo como:
with queryCadastro do
begin
close;
parambyname(´CodEsquema´).value := querypesquisaCodEsquema.value;
open;
end;
FCadEsquema.showmodal;
´select * from Esquema where codesquema = :codesquema´
no on dblclick da grid passe o parametro para query e abra o form.
vai ficar algo como:
with queryCadastro do
begin
close;
parambyname(´CodEsquema´).value := querypesquisaCodEsquema.value;
open;
end;
FCadEsquema.showmodal;
GOSTEI 0
Franck.c
03/12/2003
não ta funcionando...eu vo coloca o que é cada coisa, os nomes para não ter problema.
Tela do Cadastro
===========
Name: FCadEsquema
Tabela: dtm.esquema
Itens da tabela: Codigo , Marca , Modelo , Caixa , Prateleira , CD Nº
Tela de Pesquisa
===========
Name: FPesqEsquema
Tabela para pesquisa em ordem alfabética pelo Modelo: query1
DataSource: DataSouce1
Tabela Original: dtm.esquema
DBGrid: DBGrid1
Edit: Edit1
Lembrando: Quando estiver fazendo uma pesquisa, dando dois cliques em cima de algum ítem do DBGrid, ele abra a tela de Cadastro exatamente no iténs em que cliquei.
Por favor, isso já está virando um debate... :)
Tela do Cadastro
===========
Name: FCadEsquema
Tabela: dtm.esquema
Itens da tabela: Codigo , Marca , Modelo , Caixa , Prateleira , CD Nº
Tela de Pesquisa
===========
Name: FPesqEsquema
Tabela para pesquisa em ordem alfabética pelo Modelo: query1
DataSource: DataSouce1
Tabela Original: dtm.esquema
DBGrid: DBGrid1
Edit: Edit1
Lembrando: Quando estiver fazendo uma pesquisa, dando dois cliques em cima de algum ítem do DBGrid, ele abra a tela de Cadastro exatamente no iténs em que cliquei.
Por favor, isso já está virando um debate... :)
GOSTEI 0
Cabreu.jr
03/12/2003
Franck, me manda o fonte por e-mail q eu resolvo e t mando d volta. na certa deve ter algum detalhe esquecido.
cabreu.jr@ig.com.br
Claudio
cabreu.jr@ig.com.br
Claudio
GOSTEI 0
Franck.c
03/12/2003
Vlw pela ajuda...mas já consegui!
GOSTEI 0
Vfulan
03/12/2003
Comigo acontece o seguinte: quando dou dois cliques no dbgrid ele exibe o formulário mas volta o foco para o DBGrid. Isto pode ser evitado usando SHOWMODAL ao invés de SHOW. O problema está quando se quer usar SHOW pois isso pode ser necessário para evitar mensagens de erro em outras partes do programa como CANNOT MAKE A VISIBLE WINDOW MODAL.
GOSTEI 0
Danielclubedelphi
03/12/2003
Se vc estivesse usando o mesmo acesso ao dado estaria tudo resolvido... pq quando vc filtrasse algo o ponteiro no banco apontaria para o mesmo registro.
Como vc ta filtrando uma vez e abrindo a tabela de novo, eu sugiro que pegue esse valor quando der esse clique numa variavel global e quando fechar o formulario de pesquisa atualize sua tabela na formulario de cadastro com uma procedure ou coisa assim construindo o filtro com o valor que tinha recebido.
Naum uso tabelas e naum sei te ajudar como filtra-las.
Como vc ta filtrando uma vez e abrindo a tabela de novo, eu sugiro que pegue esse valor quando der esse clique numa variavel global e quando fechar o formulario de pesquisa atualize sua tabela na formulario de cadastro com uma procedure ou coisa assim construindo o filtro com o valor que tinha recebido.
Naum uso tabelas e naum sei te ajudar como filtra-las.
GOSTEI 0