Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
725
Assunto : VB.NET
Titulo: Refresh em listbox vinculada a um arrayList

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Vincular objetos visuais a origens de dados é uma tarefa muito comum. Quando essas origens de dados, tal como datatable, são atualizadas, desejamos que os objetos visuais espelhem a atualização precisamente.

Porém, para que isso aconteça, é necessário que exista uma comunicação entre a origem de dados e os objetos visuais. A origem de dados deve avisar aos objetos visuais que foi atualizada.

Esse aviso é feito através da interface IBindingList. Esta interface possui um evento que é implementado pela origem de dados e consumido pelos objetos visuais. Quando a origem de dados é alterada ela dispara este evento para que os objetos visuais se re-desenhem.

Você já deve ter observado que é possível o vinculo de objetos visuais com arrayLists. Mas tem um problema : um ArrayList não implementa a interface IBindingList. Desta forma quando o arrayList é atualizado, os objetos visuais não são atualizados.

Existem 2 soluções para isso : Podemos criar uma classe que herde de Arraylist e passe a implementar a IBindingList, ou podemos utilizar o BindingContext para fazer um "refresh" na interface visual.

A 1a solução é definitiva mas bem complexa, então vejamos como funciona a 2a solução :

Dim c As CurrencyManager
c = Me.BindingContext(p)
c.SuspendBinding()
c.ResumeBinding()

Neste exemplo "p" é um arrayList.

BindingContext é um objeto que controla o vinculo com objetos visuais, normalmente é controlado pelo container. Por isso neste exemplo utilizamos Me (o form) para obter o objeto BindingContext que controla o vínculo do ArrayList p com objetos visuais.

Feito isso chamamos em sequencia o SuspendBinding e ResumeBinding. Com isso teremos um refresh nos objetos visuais, passando a exibir o novo conteúdo do arrayList


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br