none
Pesquisa em coleçoes RRS feed

  • Pergunta

  • Oi amigos

    Estou aqui de novo. Meu UserControl esta quase pronto, infelizmente achei uma nova dificuldade, pesquisei bastante e achei uma soluçao que venho compartilhar com vcs e espero que alguem ja tenha vivenciado esse problema de adaptaçao.

    Ate o momento, consegui ler meu XML de clientes, exibo corretamente no ListView, consigo add/remove para selecionar em outra ListView. Quando fui implementar um search, pesquisei as melhores opçoes, pq uma coisa que aprendi em WPF e que sempre tem um recurso nativo que faz o que vc precisa. Foi o caso do List sendo substituido por um ObservableCollection(ja que o primeiro n atualiza, enquanto o segundo faz automaticamente) entao ao pesquisar sobre Search, achei um exemplo muito bom usando ICollectionView e a propriedade Filter, so que encontrei alguns  problemas e limitaçoes:

    Tenho um ObservableCollection _clientList que alimenta um ListView que exibe o codigo e o nome dos clientes, separado por colunas. Tudo certinho.
    Entao criei um campo txt para que pudesse digitar e exibir no ListView os clientes que possuissem no nome/id o que foi digitado, para isso, me baseei no exemplo :
    http://joshsmithonwpf.wordpress.com/2007/06/12/searching-for-items-in-a-listbox/
    mas quando eu passo meu collection para o ICollectionView ele n le os dados, mas criei um listbox apenas para testar que estava trabalhando corretamente e funciona, com dados inseridos em um List<String>. Associando com o _clientList nao funciona, debug nele e nada.
    Uma soluçao que pensei era criar outra lista com apenas o nome dos clientes e usar o search, so que pensei logo em seguida: Como eu vou associar ao ListView se ele ja esta associado a outra coleçao _clientList mostrando a lista de clientes?

    So para informar melhor:

    Meus campos no XML sao ClientID / ClientName / ClientCountry. No ObservableCollection ja esta tudo certinho so que ele n possui o Filter que e uma mao na roda para fazer a pesquisa na coleçao.

    Se alguem tiver alguma ideia, por favor, sinta-se a vontade.

    abraços e obrigado desde ja.
    segunda-feira, 22 de fevereiro de 2010 13:17

Respostas