Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ZecaLoteiro

DataGridView.Refresh() ?

Recommended Posts

Olá, tenho um datagridview e uma função do tipo

carregaDados()

 

Esta função obtem um dataTable do meu DB e set o grid.dataSource = dataTable.

Porém, em derterminado ponto, preciso atualizar as informações exibidas no grid.

Se eu chamar novamente o carregaDados() o grid será atualizado, porém, a linha que estava selecionada será trocada, a ordenação que estava selecionada será trocada, o evento SelectionChanged será disparado, etc...

Eu gostaria de saber se existe alguma forma de apenas atualizar os dados do grid, sem fazer nada disso...

 

Ahhh, e sem guardar a linha selecionada para utilizar depois de recarregar os dados... ou coisas do tipo...

Alguém sabe se é possível?

 

Desde já obrigado.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer apenas recarregar o datagrid? Existe o método Refresh(), porém ele zera tudo. Se você quiser manter a ordenação e também a linha selecionada eu sugiro que você busque o index e a ordenação e as guarde em variáveis para depois marcá-los novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

lol...

 

O problema de fazer isso é que continuará disparando o evento SelectionChanged do datagridview :S

Gostaria de algo que atualiza-se sem trocar a seleção das linhas....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use variáveis de controle, sete um boolean que cancela o evento selection changed através do próprio método.

 

No evento você faz a verificação

 

Se True então e.Cancel Else <evento>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou resolver da seguinte forma, criar uma Sub que realizar a leitura do banco para um DataTable e depois localizar linha a linha no grid e alterar o valor da célula. Desta forma não troco a linha selecionada, não disparo evento, não perco a ordenação.... Como não são muitos registros não terei problema de desempenho...

 

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.