DBGrid

03/12/2003

1

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


Responder

Posts

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.


Responder

04/12/2003

Franck.c

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!!!!


Responder

04/12/2003

Franck.c

o nome da minha tabela é Esquema e eu uso paradox


Responder
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...

procedure FPesqEsquema.dbGridDblClick(Sender: TObject);
begin
  frmCadastrar.Show; //ou ShowModal
end;


testa ae e avisa se funcionou.

[]s Douglas.


Responder

04/12/2003

Franck.c

não funciono nenhuma das duas maneiras :(


Responder
quando vc clica 2 vs no registro não abre o form desejado?

cole aqui o código que vc usou...


Responder

04/12/2003

Franck.c

abre, mas eu preciso q quando abrir fike no registro q eh cliquei na tela de pesquisa


Responder

04/12/2003

Franck.c

application.createform(tFCadEsquema,FCadEsquema);
FCadEsquema.show;


Responder
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.


Responder

04/12/2003

Franck.c

tá ativado, mas tu sabe como faz o que eu kero?


Responder
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.


Responder

04/12/2003

Franck.c

Alguém pode me ajudar???????


Responder

04/12/2003

Cabreu.jr

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;


Responder

04/12/2003

Franck.c

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... :)


Responder

05/12/2003

Cabreu.jr

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


Responder