Como Trabalhar melhor com o DBNavigator ?

Delphi

25/07/2003

Como fazer, quando eu clico em adicionar no DBNavigator, que se crie uma nova linha no final do DBGrid e disponibilize o cursor no DBEdit1?

Gostaria, ainda, de saber como fazer que o botão ´ADICIONAR´ do DBNavigator seja ´PADRÃO´, e que, quando teclamos ´ENTER´, automaticamente faça o q eu perguntei acima (uma linha no final do DBGrid e o cursor no DBEdit1) e que quando eu tecle ´ENTER´ após digitar os dados dentro do DBEdit1, vá para o botão ´Gravar´ do DBNavigator e que com mais um ´ENTER´ grave os dados e coloque o ´cursor´ novamente no botão ´ADICIONAR´ do DBNavigator.

Para terminar, como eu faço para incrementar em +1 sempre que criar um novo registro ? Se no meio de um novo registro eu desistir e teclar em Cancelar, volto a ter o numero inicial ?

Ex.: Id_Prod := Id_Prod + 1

Estou trabalhando com o Access e Id_Prod é um campo alfanumerico que só recebe numeros.

Valeu pela ajuda pessoal !


Fabio_jrn

Fabio_jrn

Curtidas 0

Respostas

Giovani

Giovani

25/07/2003

meu velho, eu não utilizo o Dbnavigator porque acho ele horrível p/ edição de registros. faço assim:

tenho uma Table chamada tblexemplo com os seguintes campos:

Codigo = autoincremento
nome = String
Endereco = String

Crio um Form com os Seguintes componentes:
DbGrid, DataSource, BotãoIncluir, BotãoIncluir,BotãoIncluir,BotãoSair.

o DataSource está ligado a TblExemplo e a DbGrid ao DataSource.

Crie outro Form(FrmCadastro) só para a Inclusão, Alteração e exclusão dos Registros, com um botão Ok e um botão Cancelar; 3 DBedits ligados aos respectivos campos da TblExemplo.

no BotãoIncluir, no evento on click coloque:
Application.CreateForm (TFrmCadastro,FrmCadastro);
FrmCadastro.BotaoOk.Caption := ´Incluir´;
TblExemplo.Append;
FrmCadastro.ShowModal;
FrmCadastro.Release;

no BotãoAlterar, no evento on click coloque:
Application.CreateForm (TFrmCadastro,FrmCadastro);
FrmCadastro.BotaoOk.Caption := ´Alterar´;
TblExemplo.Edit;
FrmCadastro.ShowModal;
FrmCadastro.Release;

no BotãoExcluir, no evento on click coloque:
Application.CreateForm (TFrmCadastro,FrmCadastro);
FrmCadastro.BotaoOk.Caption := ´Excluir´;
FrmCadastro.ShowModal;
FrmCadastro.Release;

no BotãoSair, no evento on click coloque:
close;

No FrmCadastro no BotaoOk, no Evento Onclick coloque:
If (BotaoOk.caption = ´Incluir´) or (BotaoOk.caption = ´Alterar´) then
Begin
tblExemplo.Post;
FrmCadastro.close;
end;
If (BotaoOk.caption = ´Excluir´) then
Begin
tblExemplo.delete;
FrmCadastro.close;
end;
No FrmCadastro no BotaoCancelar, no Evento Onclick coloque:
TblExemplo.Cancel;
FrmCadastro.close;


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

25/07/2003

Fábio,

1. Para substituir o dbNavigator facilmente, utilize uma toolbar e actionlist;
2. Verifique se o access possui mecanismos próprios de auto-incremento. Se não existir, faça o controle nos eventos de sua table ou query (p.e.: BeforePost -> obtem o último número utilizado e faz o incremento. )
3. Verifique a propriedade TabOrder, KeyPreview da form e OnKeyPress (procure sobre como trocar o tab por enter).
Se desejar, posso te mandar um exemplo básico para essas dúvidas, caso ainda persistam.


GOSTEI 0
Rafaelunp

Rafaelunp

25/07/2003

Amigos,

Estou querendo desenvolver meu próprio dbnavigator, completamente personalizado. Com os mesmos botoes do ´DbNavigator´, utilizando queries para consultas e StoredPocedures para Inclusão, alteração e Exclusão. Será que alguem tem algum exemplo disso? Creio que não seja nada muito difícil, mas apenas trabalhoso, o lance de:
Clicou no botão incluir, desabilita os demais, deixando apenas o cancelar e o gravar habilitados. Botoes de Navegação (chegou no final, desabilita o proximo e o ultimo)... Esses detalhes do DBnavigator...

Alguem tem algum exmplo desse?
Alguem já faz isso?


GOSTEI 0
Pistesil

Pistesil

25/07/2003

rafaelunp,

Vc chegou a desenvolver seu proprio dbnavigator? se sim vc poderia me passar ele fazendo o favor, e q estou tendo problemas com o dbnavigator normal. Desde ja agradeço.


GOSTEI 0
Socrates Foschera

Socrates Foschera

25/07/2003

Boa noite não sei se é a qui mas estou com problema no meu sistema estou utilizando o mysql com o dbforge e hoje fui abrir o sistema para dar continuidade e me aconteceu o seguinte rodei o programa e o dbnavegator estava como de estivesse desabilitado porem verifiquei ele estava linkado com o fdconnection, fdtable, datasource, quando se olha no sistema antes de rodar ele fica habilitado e aparecendo o conteudo no bdgrid porem o problema é quando roda o programa. O que pode ser?
GOSTEI 0
POSTAR