none
Carregar uma Lista tipada com dados de um DataGrid RRS feed

  • Pergunta

  • Bom dia Pessoal!

    Eu estou tentando criar uma tela de cadastro de movimentação em WPF e tenho encontrado algumas dificuldades para fazer a listagem correta dos produtos que vão sendo adicionados à lista de produtos da movimentação. Os produtos devem ser carregados em uma lista e logo após serem listados em uma grid. A medida que vou adicionando a lista cresce no numero de elementos, o total da compra vai sendo somado, mas a lista fica toda preenchida com os dados do último produto inserido.

    Acredito que seja problema na minha lógica mesmo, então gostaria que dessem uma olhada nas imagens para me dar uma luz. 

    sábado, 15 de junho de 2013 07:09

Todas as Respostas

  • Davi, utilize a classe ObservableCollection. Vou dar exemplos relativos à sua tela:

    // propriedade da classe
    public ObservableCollection<Item> Itens {get;private set;}
    
    //no construtor
    Itens = new ObservableCollection<Item>();
    
    //em algum lugar buscando do banco:
    Itens.Clear();
    foreach(var item in banco.ListarItens())
           Itens.Add(item);
    
    //no botão Inserir:
    var item = new Item();
    //preenche propriedades
    Itens.Add(item);
    //atualiza a soma:
    txtSoma.Text = Itens.Sum(i => i.Valor).ToString();
    
    

    Agora o vc precisa fazer é um Binding dessa propriedade Itens no DataGrid, lá no XAML, por exemplo:

    <DataGrid ItemsSource="{Binding Itens, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}">


    Take a look at WPF FlashMessage
    About.me

    segunda-feira, 26 de agosto de 2013 13:47