none
Contar quantas linhas há no datagrid RRS feed

  • Pergunta

  • Fala pessoal, gostaria de saber se há alguma forma de contar quantas linhas há atualmente no datagrid que tem seu itemsource carregado por por uma tabela no banco de dados
    terça-feira, 18 de outubro de 2011 17:53

Todas as Respostas

  • Lucas eu não conheço nenhum propriedade que retorne a quantiade de linha de um ItemSource, você pode fazer um "for" manual e contar:

    dGrid.ItemsSource = new List<string>{"test", "test2", "test3"};
    int count = 0;
    
    foreach (var c in dGrid.ItemsSource)
    {
    count++;
    }
    
    int resultado = count;
    

     Você pode contar o numeros de linhas do seu DataTable tambem.
    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/
    terça-feira, 18 de outubro de 2011 18:03
  • Vlw Vitor, funcionou, mas o que eu quero mesmo é selecionar minha ultima linha do datagrid(SelectedIndex), mas não estou conseguindo fazer isso atraves do código: meuDatagrid.SelectedIndex = Convert.Int32(TextBoxNumerodeLinhasDatagrid.Text);

    Você sabe por que isso não está funcionando?

    terça-feira, 18 de outubro de 2011 18:47
  • Lucas geralmente o count sempre retorna o numero real de itens, mais nao corresponde ao indice, os indices sempre iniciam por 0, tente meuDatagrid.SelectedIndex = Convert.Int32(TextBoxNumerodeLinhasDatagrid.Text) - 1

    Teria como você explicar oque você pretende fazer, talves possa entender melhor a sua duvida 

    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/
    terça-feira, 18 de outubro de 2011 18:52
  • Na verdade eu quero que marque o ultimo SelectedIndex do Datagrid pois será selecionado quando um novo registro for salvo.
    Eu tenho uma tela com dois datagrids, um é o de orçamento e o outro é uma view onde envolvem orçamento e produtos do orçamento. Mais esse datagrid da view só aparece quando clico em uma linha do datagrid do orçamento(mostrando assim seus produtos correspondentes). Ou seja, quando eu crio um novo orçamento tenho que clicar na nova linha que foi inserida no datagrid do orçamento para o datagrid da view apareça e então eu poder salvar os produtos correspondentes e ir atualizando o datagrid assincronamente.
    terça-feira, 18 de outubro de 2011 19:03
  • Lucas,

    Se vc utilizar o padrão MVVM acho que consegue fazer isto sem precisa usar selectedIndex do datagrid. Pq na hora q vc adicona um item no datagrid certamente vc tem o objeto que foi adiconado. Se vc usar a interface INotifyPropretyChage vc consegue notificar usa interface que algo ocorreu ela pode mudar de estado.

     

    SelectedOrcamento = NovoOrcamento

    Nesse momento é disparado um evento OnNotifyPropertyChage em que vc pode exibir o outro dataGrid. Dá uma olhada no padrão MVVM, caso nao esteja usando, vc encontra muitas  informações dele na net.


    @MiltonSJr
    • Sugerido como Resposta Edjan Santos quinta-feira, 27 de outubro de 2011 13:15
    quinta-feira, 27 de outubro de 2011 13:10
  • Quase 4 anos depois sua resposta me ajudou.

    Grato.

    quinta-feira, 23 de abril de 2015 17:02