Usuário com melhor resposta
Registro não permanece após salvar com BindingSource em estado Filter()

Pergunta
-
Pessoal,
Não sei porque, mas, se meu BindingSource está em estado normal, ou seja, se abro a janela e aplico um BindingSource.AddNew() e salvo o registro corrente, após salvo, o registro permance na minha janela, que é o que desejo, pois assim terei como editar sem ter que procurar um registro que acabei de incluir, até aí tudo bem, mas o que me deixa intrigado é que se antes de Incluir um novo registro eu tiver usado o método Filter() no BindingSorce, após salvar o registro, os controles ficam em branco e ai tenho que usar um filter() para que aquele registro apareça na janela.
Alguem poderia me explicar porque isso acontece e me dar uma dica de como salvar o registro, seja com ou sem o bindingsource em estado Filter fazer com que ele permaneça visivel na minha janela.
Agradecido pela oportunidade.
().
JOAB
Respostas
-
Prezado,
O ideal é que você limpe o filtro antes de inserir o registro novo...
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima- Marcado como Resposta JOAB_ARAUJO segunda-feira, 9 de agosto de 2010 12:14
Todas as Respostas
-
Prezado,
O ideal é que você limpe o filtro antes de inserir o registro novo...
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima- Marcado como Resposta JOAB_ARAUJO segunda-feira, 9 de agosto de 2010 12:14
-
Olá André.
Agradecidos pela resposta.
Tentei usar o método ResetBinding(), não deu certo, depois usei o RemoveFilter(), mas ai me era retornado todos os registros da tabela.
Quer dizer que se for inserir um novo registro e o Bindingsource estiver em estado de Filter devo usar a linha "Filter = null" antes do AddNew(), ok Entendido.
JOAB -
Olá André
Conforme as instruções, no meu botão de Inclusão de registro, usei as linhas:
MeuBindsource.Filter = null;
MeuBindsource.AddNew()
e depois
MeuBindsource.RemoveFilter()
MeuBindsource.AddNew();
Realmente o novo registro é exibido após ser salvo, mas um outro problema, nos dois modos, quando o filtro é removido, o meu BindingSource exibe todos os registro da tabela causando um efeito indesejado para o usuário e eu não desejo que seja assim, desejo que o filtro seja removido e o Bindingsource não exiba nenhum registro e depois eu possa inserir uma nova linha e depois de salva-la este registro seja exibido apenas ele no meu form.
Tem como?
JOAB -
Prezado,
Acho que tenho uma ideia... Se após salvar você alterar o filtro utilizando uma condição que somente o novo registro seja exibido (fazendo um filtro pelo código, por exemplo), não funcionaria?
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima -
Olá Andre.
Eu já uso esta ideia em outros projetos meu, mas acontece que quando voçê salva o novo registro e ele retorna este registro pelo filtro acontece um efeito indesejavel, do seguinte modo:
Depois que o registro é salvo e como o filtro é aplicado todos os controles ficam em branco e depois me é retornado este novo registro filtrado, como o espaço de tempo entre salvar e filtrar é longo para que este filtro seja retornado, nota-se claramente que é uma gambiarra.
Faça o teste para ver!!
Agradeço pelo seu esforço e dicas.
JOAB