none
Ajuda com DataGrid RRS feed

  • Pergunta

  • Boa tarde

    Preciso de uma ajuda com o datagrid.

    Tenho um datagrid e deixo o usuário digitar os dados nele.

    Quero pegar estes dados. Todas as celulas do datagrid.

    Só consegui achar para pegar o valor da celula ou linha que foi clicada e não de todo o grid.

    Naum axhei nada na internet q me ajudasse.

    Desde já agradeço


    Bruno Garcia Analista Sistemas Junior
    quarta-feira, 5 de janeiro de 2011 16:37

Respostas

  • Então não você não está setando o DataSet como o ItemsSource e sim uma DataView. Mude para

    var ds = (DataView)dataGrid1.ItemsSource;

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    • Marcado como Resposta bruno.garcia sexta-feira, 7 de janeiro de 2011 13:45
    sexta-feira, 7 de janeiro de 2011 13:41

Todas as Respostas

  • O DataGrid tem um ItemsSource, que tem todos os dados da datagrid, use o que está no ItemsSource

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    quinta-feira, 6 de janeiro de 2011 17:57
  • Vou tentar

     

    vlw


    Bruno Garcia Analista Sistemas Junior
    quinta-feira, 6 de janeiro de 2011 18:35
  • COmo ficaria usando o itemssource?


    Bruno Garcia Analista Sistemas Junior
    quinta-feira, 6 de janeiro de 2011 18:40
  • Provavelmente, você tem ItemsSource="Lista", onde Lista é uma ObservableCollection<Classe>, ou um Dataset ou qualquer IEnumerable. Basta usar a classe que está ligada ao ItemsSource, que você tem todos os itens.

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    quinta-feira, 6 de janeiro de 2011 19:56
  • certo Mas se o usuario alterar os valores no grid esses valores serão alterados no meu dataset ou lista que está conectado com o grid?

     

    Vlw pela aju

     

    abraços.


    Bruno Garcia Analista Sistemas Junior
    sexta-feira, 7 de janeiro de 2011 10:23
  • Sim, é exatamente esta a idéia do data binding. Para um exemplo, dê uma olhada aqui:

    http://www.codeproject.com/KB/WPF/WPFDataGridExamples.aspx

    []s

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    sexta-feira, 7 de janeiro de 2011 10:37
  • Sim vou dar uma olhada.

    obrigado pela ajuda vlw


    Bruno Garcia Analista Sistemas Junior
    sexta-feira, 7 de janeiro de 2011 10:47
  • Bruno aproveitando a sua boa vontade de Chará queria te perguntar mais coisa como sou novato no WPF.

     

    Criei meu DataSet puis o itemsource = DataSet blz.

    mas como que eu acesso esse meu dataset que está ligado no Binding  do datagrid usando um metodo diferente.

    exemplo: o evento clique de um botão.

     

    vlw pela ajuda de novo.


    Bruno Garcia Analista Sistemas Junior
    sexta-feira, 7 de janeiro de 2011 11:05
  • Aqui não há problema, use-o como usaria em qualquer outra aplicação - as mudanças que você faz se refletem na Datagrid.

    []s

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    sexta-feira, 7 de janeiro de 2011 11:28
  • Mas se eu istancio o meu dataset em um metodo.

    E em outro metodo chamar esse dataset que está no linkado com o binding.

    como faço?

     

    vlw pela ajuda


    Bruno Garcia Analista Sistemas Junior
    sexta-feira, 7 de janeiro de 2011 11:43
  • Não entendi. Você irá manipular seu dataset da mesma maneira que faria em uma aplicação Console ou Winforms. Qual é o problema?

    []s

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    sexta-feira, 7 de janeiro de 2011 12:17
  • Acho q eu naum expliquei direito.

     

    Eu istancio o meu dataset em um metodo e passo este dataset no binding do datagrid. Ai eu quero pegar os dados em outro metodo, quando eu estou no outro metodo eu instancio um dataset e naum sei como pego os valores daquele dataset que esta ligado no databinding do datagrid.

     

    eu preciso disso, tem como fazer?

     

    vlw abraços.


    Bruno Garcia Analista Sistemas Junior
    sexta-feira, 7 de janeiro de 2011 12:25
  • Se você instancia outro Dataset, este não tem nada a ver com o outro. O que você deve fazer é algo como:

    var dataset = (Dataset)dataGrid1.ItemsSource;

    []s

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    sexta-feira, 7 de janeiro de 2011 13:24
  • Fiz assim :

    var ds = (DataSet)dataGrid1.ItemsSource;
    MessageBox.Show(ds.Tables[0].Rows[3]["sNOME"].ToString());
    

    E deu este erro:

    IvalidCastException was unhandled

    Unable to cast object of type 'System.Data.DataView' to type 'System.Data.DataSet'.

     

    Vlw Bruno


    Bruno Garcia Analista Sistemas Junior
    sexta-feira, 7 de janeiro de 2011 13:32
  • Então não você não está setando o DataSet como o ItemsSource e sim uma DataView. Mude para

    var ds = (DataView)dataGrid1.ItemsSource;

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    • Marcado como Resposta bruno.garcia sexta-feira, 7 de janeiro de 2011 13:45
    sexta-feira, 7 de janeiro de 2011 13:41
  • Blz era isso msm

    vlw pela pasciencia e ajuda

     

    vlw msm


    Bruno Garcia Analista Sistemas Junior
    sexta-feira, 7 de janeiro de 2011 13:45