none
Deletar itens da datagridview que consome uma classe RRS feed

  • Pergunta

  • Olá pessoal,

    Estou populando um DataGridView utilizando a propriedade DataSource (DataGridView.DataSource = ...). Ao invés de eu usar um BindingSource vinculado com uma tabela de um banco de dados, estou utilizando uma coleção genérica (List<ClasseCriada> Lista = new List<ClasseCriada>();)de uma classe que criei para popular esta grid e fazendo DataGridView.DataSource = Lista.  Funcionou muito bem para mostrar os dados na tela. Entretanto, se eu tentar deletar registros nesta grid, é retornado um erro feio. Estou tentando deletar da seguinte forma:

    private void btnGerDel_Click(object sender, EventArgs e)
    {
        foreach (DataGridViewRow Linha in dgvListaAlunos.SelectedRows)
        {
            dgvListaAlunos.Rows.Remove(Linha);
        }
    }

    Com certeza está errado. Alguém tem alguma dica de como resolver esta problema?

    Obrigado

    Matheus
    Matheus da Silva
    terça-feira, 18 de agosto de 2009 12:46

Respostas

  • Matheus,


    É isso mesmo que o Alan disse, tente usar o método RemoveAt, adaptando no seu codigo ficaria assim :

                foreach (DataGridViewRow Linha in dataGridView1.SelectedRows)
                {
                    dataGridView1.Rows.RemoveAt(Linha.Index);
                }
    Abs,
    Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/ "Ao infinito e além.. "
    • Marcado como Resposta Matheus Silva quinta-feira, 1 de outubro de 2009 19:31
    terça-feira, 18 de agosto de 2009 23:27

Todas as Respostas

  • Tente isso

    For i = dgvListaAlunos.Rows.Count - 1 To 0 Step -1
                dgvListaAlunos.Rows.RemoveAt(i)
            Next

    Alan
    • Sugerido como Resposta Alan Cossari terça-feira, 18 de agosto de 2009 17:42
    terça-feira, 18 de agosto de 2009 13:58
  • Matheus,


    É isso mesmo que o Alan disse, tente usar o método RemoveAt, adaptando no seu codigo ficaria assim :

                foreach (DataGridViewRow Linha in dataGridView1.SelectedRows)
                {
                    dataGridView1.Rows.RemoveAt(Linha.Index);
                }
    Abs,
    Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/ "Ao infinito e além.. "
    • Marcado como Resposta Matheus Silva quinta-feira, 1 de outubro de 2009 19:31
    terça-feira, 18 de agosto de 2009 23:27