Fórum Data controls/DbGrid #381196
12/07/2010
0
Boa tarde.
Parece uma pergunta bem básica, mas não sei... rs.. :)
Vamos lá, coloquei um DbGrid no form, fiz todas as conexões e já está exibindo os resultados...ok
Abaixo, tenho alguns DbEdits, que gostaria da ajuda de vocês para saber como fazer para quando selecionar algum registro no grid, e clicar no botão ALTERAR, aparecer o registro para edição nos DbEdits localizados abaixo do DbGrid.
agradeço desde já!
Fernando Ramos
Curtir tópico
+ 0Posts
12/07/2010
Wilson Junior
- DataSource -> com o mesmo DataSource que está no DBGrid;
- DataField -> com o nome do campo da tabela.
Depois, ao clicar no botão alterar e colocar o registro em modo de edição (Edit).
Qualquer coisa é só perguntar.
Espero ter colaborado.
Gostei + 0
12/07/2010
Fernando Ramos
Boa noite.
Fiz conforme orientado e funcionou, mas não como eu queria.
Estou setando o DATAFIELD dos DbEdits via código, no evento Activate do form. Assim como ativando o AdoQuery neste mesmo evento.
Assim, quando percorro os itens do DbGrid, automaticamente já vai preenchendo os DbEdits e ao passar por todos os DbEdits o registro é salvo. Eu gostaria que preenchesse os DbEdits apenas quando clicasse no botão ALTERAR e salvasse apenas quando eu clicasse no botão OK.
É possível? Abraços!
Gostei + 0
13/07/2010
Wilson Junior
- invisibilizar os DBEdits;
- somente atribuir as propriedades que citei no tópico anterior somente quando clicar no botão "Alterar" e retirá-las ao clicar no botão "Ok".
Existem várias formas.
Espero ter colaborado.
Gostei + 0
13/07/2010
Fernando Ramos
É também pensei nisso, apenas habilitar os DbEdits quando clicar no botão alterar. Acho que isso resolve o problema.
Agora, percebi que ele salva o registro quando saio do último DbEdit. Tem como evitar isso? Gostaria de salvar clicando no botão OK, dando um "POST". É possível?
abraços!
Gostei + 0
13/07/2010
Wilson Junior
Espero ter colaborado.
Gostei + 0
13/07/2010
Fernando Ramos
Mesmo com essa opção, ao sair do último DbEdit ele salva o registro!
Gostei + 0
13/07/2010
Wilson Junior
Gostei + 0
13/07/2010
Fernando Ramos
Vou postar tudo q estou fazendo:
Objetos no form:
1 DBGRID (GrdUsuarios)1 ADOCONNECTION (ConUsuarios)1 ADOQUERY (QryUsuarios)1 DATASOURCE (DsUsuarios)2 DBESDITs (TxtLogin e TxtNome)2 BITBTNS (BtnAlt e BitBtn1)No OnActivate do form:
ConUsuarios.ConnectionString := ..... ConUsuarios.Connected := true; QryUsuarios.SQL.ADD(...); QryUsuarios.Active := true; QryUsuarios.open;
No OnClick do BtnAlt:
TxtLogin.DataField := '...'; TxtNome.DataField := '...'; QryUsuarios.Edit;
No OnClick do BitBtn1
QryUsuarios.Post;
Via Object Inspector, defino as seguintes propriedades:
TxtLogin:
- DataSource: DsUsuarios
TxtNome:
- DataSource: DsUsuarios
GrdUsuarios:
- DataSource: DsUsuarios
- Options:
dgEditing: False;
dgColumnResize: False;
dgRowSelect: True;
Gostei + 0
13/07/2010
Wilson Junior
Gostei + 0
13/07/2010
Fernando Ramos
Após sair deste último DbEdit... ele retorna para o botão Alterar.....
Gostei + 0
13/07/2010
Fernando Ramos
Quando saio do último DbEdit ele apenas atualiza no DBGRID e não salva no banco...se fechar e entrar novamente no Form não salvou....
Gostei + 0
13/07/2010
Wilson Junior
Gostei + 0
13/07/2010
Fernando Ramos
Gostei + 0
13/07/2010
Wilson Junior
Quando o DataSource é atualizado, todos os componentes ligado a ele serão atualizados automaticamente.
O que lhe sugiro é pintar a linha do registro quando a mesma estiver em modo de edição, assim ele saberá que está em edição. Lembrando que existe no DBGrid.Options o dgIndicator, para indicar o status.
Qualquer coisa é só perguntar.
Espero ter colaborado.
Gostei + 0
13/07/2010
Fernando Ramos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)