ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Lookup some da grid [Resolvido]
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Qui Fev 07, 2013 4:40 pm    Assunto: Lookup some da grid [Resolvido] Responder com Citação

Olá pessoal, estou com um pequeno problema.
Quando abro a tela de cadastro temos uma grid com os registros salvos em banco, porém, se eu alterar algum registro, os campos lookup simplesmente somem da grid, eu tenho que fechar o programa e abrir novamente, aí ele volta a mostrar.

Detalhe:
No cadastro de Contato tem a F.K. ID_CIDADE, porém, na grid, eu mostro o nome da cidade ao invés do código, por meio de um lookup que criei no ClientDataSet.

Quem puder me ajudar, ficarei grato, valeu, abraço!
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)


Editado pela última vez por wjuniordias em Sex Fev 08, 2013 3:53 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Fev 07, 2013 5:20 pm    Assunto: Responder com Citação

Boa tarde,

Somente os valores deixam de ser exibidos ou nem a coluna é exibida?
O DataSet utilizado pelo Lookup é mantido aberto o tempo todo?


Editado pela última vez por imex em Qui Fev 23, 2023 12:17 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
JoaoSHi
Experiente
Experiente


Registrado: Segunda-Feira, 25 de Agosto de 2008
Mensagens: 481

MensagemEnviada: Qui Fev 07, 2013 6:38 pm    Assunto: Responder com Citação

Colega, quando gravar você precisa alimentar este campo "nome da cidade" ai ele ficar gravado no ClientDataSet.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Fev 08, 2013 7:46 am    Assunto: Responder com Citação

imex escreveu:
Boa tarde,

Somente os valores deixam de ser exibidos ou nem a coluna é exibida?
O DataSet utilizado pelo Lookup é mantido aberto o tempo todo?


Somente os valores deixam de ser exibido, a coluna continua normalmente, dá impressão de que os dados foram perdidos, só que se seu fechar a aplicação e abrir novamente ele mostra os valores que tinha sumido.
Sobre o dataSet, deixo eles aberto o tempo todo...
É um projeto simples, uma agenda de contatos, apenas para treinar meus conhecimentos, se alguém preferir, eu mando o fonte.
Abraço.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Fev 08, 2013 7:50 am    Assunto: Responder com Citação

JoaoSHi escreveu:
Colega, quando gravar você precisa alimentar este campo "nome da cidade" ai ele ficar gravado no ClientDataSet.


Só que esse campo é lookup, nas configurações já estou apontando para o dataset, ele deveria alimentar automático, pelo que sei....Abraço.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Fev 08, 2013 10:07 am    Assunto: Responder com Citação

Experimente, só para teste, adicionar um botão com código semelhante ao que segue:

Código:
  ShowMessage('LookupDataSet: '     + ClientDataSet1CampoLookup.LookupDataSet.Name +
              sLineBreak +
              'Ativo: '             + BoolToStr(ClientDataSet1CampoLookup.LookupDataSet.Active, true) +
              sLineBreak +
              'LookupKeyFields: '   + ClientDataSet1CampoLookup.LookupKeyFields +
              sLineBreak +
              'LookupResultField: ' + ClientDataSet1CampoLookup.LookupResultField);


Quando ocorrer o problema, experimente clicar no botão para verificar as propriedades acima.

Espero que ajude.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Fev 08, 2013 10:52 am    Assunto: Responder com Citação

imex escreveu:
Experimente, só para teste, adicionar um botão com código semelhante ao que segue:

Código:
  ShowMessage('LookupDataSet: '     + ClientDataSet1CampoLookup.LookupDataSet.Name +
              sLineBreak +
              'Ativo: '             + BoolToStr(ClientDataSet1CampoLookup.LookupDataSet.Active, true) +
              sLineBreak +
              'LookupKeyFields: '   + ClientDataSet1CampoLookup.LookupKeyFields +
              sLineBreak +
              'LookupResultField: ' + ClientDataSet1CampoLookup.LookupResultField);


Quando ocorrer o problema, experimente clicar no botão para verificar as propriedades acima.

Espero que ajude.


Fiz isso, e na mensagem ele me mostra o seguinte:

LooupDataSet: CDSCidade
Ativo: True
LookupKeyFields: ID_CID
LookupResultField: NOM_CID

onde ID_CID é a PK da tabela Cidade, e o NOM_CID é o campo nome da cidade da tabela cidade.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Fev 08, 2013 10:57 am    Assunto: Re: Lookup some da grid Responder com Citação

Fazendo o teste do "imex" percebi outra coisa, tipo assim por exemplo:
Tem o José (Fernandópolis), Leandro (Fernandópolis), Carlos (General Salgado), Felipe (Votuporanga) cadastrado, se eu alterar a cidade do Felipe no cadastro para Fernandópolis, só some da grid os contatos cuja cidade seja diferente de Fernandópolis, neste exemplo, quem sumiria da Grid seria o Carlos, porque a cidade é diferente, muito estranho isso, nunca aconteceu comigo antes, também é a primeira vez que tento fazer um campo lookup aparecer numa Grid....
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Fev 08, 2013 11:02 am    Assunto: Responder com Citação

Será que não está sendo adicionado algum filtro na query utilizada para carregar os registros em CDSCidade?
Ou ainda adicionado algum filtro através da propriedade Filter ou evento OnFilterRecord?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Fev 08, 2013 11:11 am    Assunto: Responder com Citação

imex escreveu:
Será que não está sendo adicionado algum filtro na query utilizada para carregar os registros em CDSCidade?
Ou ainda adicionado algum filtro através da propriedade Filter ou evento OnFilterRecord?

O único comando que uso no SQLDataSet da cidade é o "Select * from Cidade", eu uso o ClientDataSet deste para ser o lookup do ClientDataSet do Contato.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Fev 08, 2013 1:42 pm    Assunto: Responder com Citação

Alguém quer o fonte pra analisar? Help-me....obrigado. Smile
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Fev 08, 2013 2:05 pm    Assunto: Responder com Citação

E o Filter? É utilizado?

Como é feita a alteração da cidade?
No mesmo Form ou em outro?
Com form de pesquisa? DBLookupComboBox?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Fev 08, 2013 2:20 pm    Assunto: Responder com Citação

imex escreveu:
E o Filter? É utilizado?

Como é feita a alteração da cidade?
No mesmo Form ou em outro?
Com form de pesquisa? DBLookupComboBox?


Não uso o Filter.
Quanto a alteração é o seguinte.
Pelo menu cadastrar/Contato abre uma tela com uma grid exibindo os registros cadastrados, um edit para pesquisa, e os botões "Novo, alterar, excluir e atualizar", ao clicar no botão "alterar", ele abre a tela de manutenção com as informações do registro selecionado na grid, aí o usuário pode alterar os dados e clicar no botão "salvar", feito isso, ele volta na tela de cadastro, é neste momento que os nomes da cidade somem, só fica os nomes das cidades que for igual ao contato que foi alterado.
Wink
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Fev 08, 2013 2:47 pm    Assunto: Responder com Citação

E como funciona o form de manutenção?
Você utiliza um ClientDataSet com Edit / Post / ApplyUpdates para as alterações ou SQL direto?
Se utiliza DataModule e ClientDataSet, utiliza o mesmo DataModule e ClientDataSet no form com o grid e no form de manutenção?
E para alterar o ID da cidade? É necessário digitar o ID? DBLookupComboBox? Form de pesquisa de cidades?
Se tem um Form de pesquisa de cidades, é utilizado o mesmo DataModule / ClientDataSet dos forms anteriores?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Sex Fev 08, 2013 3:06 pm    Assunto: Responder com Citação

imex escreveu:
E como funciona o form de manutenção?
Você utiliza um ClientDataSet com Edit / Post / ApplyUpdates para as alterações ou SQL direto?
Se utiliza DataModule e ClientDataSet, utiliza o mesmo DataModule e ClientDataSet no form com o grid e no form de manutenção?
E para alterar o ID da cidade? É necessário digitar o ID? DBLookupComboBox? Form de pesquisa de cidades?
Se tem um Form de pesquisa de cidades, é utilizado o mesmo DataModule / ClientDataSet dos forms anteriores?


Isso, eu uso o Edit/Post e ApplyUpdates.
Uso DataModule, e uso os mesmos componentes tanto na tela de cadastro (com grid) quanto na tela de manutenção.
Para alterar o ID da cidade, no evento "OnEnter" do EdtCodigoCidade, eu abro a tela de pesquisa cidade, o usuario digita o nome da cidade e ao pressionar Ok, ele automaticamente pega o ID correspondente à cidade e joga no edit, por este motivo não estou usando um DBLookupComboBox.
E sim, o form de pesquisa cidade usa o mesmo datamodule dos anteriores....
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB