none
C# Excluir uma linha de uma GridView em DataTable no evento RowDeleted RRS feed

  • Pergunta

  • Meus amigos, 

    Estou apanhando e muito..Já via vários help, discursoes, mas não vi algo que possa me ajudar. Estou com um aplicação e preciso excluir nessa aplicação, de um gridview, uma linha dela. 

    Minha Grid

    <asp:GridView ID="gridTamanhos" runat="server" DataKeyNames="IdDados" 
            onrowdeleted="gridTamanhos_RowDeleted">
            <Columns>
                <asp:CommandField ShowDeleteButton="True" />
            </Columns>
        </asp:GridView>

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                DataTable tbDados;
                DataColumn Coluna;
                Session["contador"] = 0;

                tbDados = new DataTable();
                Coluna = new DataColumn();
                Coluna.DataType = System.Type.GetType("System.String");
                Coluna.ColumnName = "IdDados";
                tbDados.Columns.Add(Coluna);

                Coluna = new DataColumn();
                Coluna.DataType = System.Type.GetType("System.String");
                Coluna.ColumnName = "DataVcto";
                tbDados.Columns.Add(Coluna);

                Coluna = new DataColumn();
                Coluna.DataType = System.Type.GetType("System.String");
                Coluna.ColumnName = "Valor";
                tbDados.Columns.Add(Coluna);

                Session["TabelaDados"] = tbDados;

                gridTamanhos.DataSource = tbDados;
                gridTamanhos.DataBind();

        }

    }

    Tenho um evento que ao clicar no botao vai inserir um dado na minha grid View

     protected void InserirDado_Click(object sender, EventArgs e)
        {
            DataTable tbDadosSession = new DataTable();
            tbDadosSession = (DataTable)Session["TabelaDados"];
            string conteudoTextBox = TbxAdicionaData.Text;

            Linha = tbDadosSession.NewRow();
            Linha["idDados"] = Convert.ToInt32(Session["contador"]) + 1;
            Linha["DataVcto"] = conteudoTextBox; 
            Linha["Valor"] = TbxAdicionaValor.Text;
            tbDadosSession.Rows.Add(Linha);

            Session["TabelaDados"] = tbDadosSession;
            gridTamanhos.DataSource = tbDadosSession;
            gridTamanhos.DataBind();
            Session["contador"] = tbDadosSession.Rows.Count;
            TbxAdicionaData.Text = String.Empty;
            TbxAdicionaData.Focus();
        }

    Agora, minha questão é, como faço para excluir uma linha da minha gridview ao clicar no botao exclui da linha dela, no CommandField ShowDeleteButton?


    Kelsen Nunes

    terça-feira, 19 de julho de 2016 14:44

Respostas

  • Boa tarde Kelsen Nunes,

    Por gentileza, verifique o conteúdo desta página:

    "...adicionar e deletar linhas do GridView em ASP.NET"

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 20 de julho de 2016 16:49
    Moderador

Todas as Respostas

  • Boa tarde Kelsen Nunes,

    Obrigado por sua participação no Fórum MSDN.

    Para deletar de uma DataGridView, por gentileza, tente utilizar algo semelhante ao seguinte exemplo:

    private void btnDelete_Click(object sender, EventArgs e)
    {
        try
        {
            ds.Tables[0].Rows[inc].Delete();
            objConnect.UpdateDatabase(ds);
     
            MaxRows = ds.Tables[0].Rows.Count;
            inc--;
            NavigateRecords();
        
            MessageBox.Show("Linha Deletada");
        }
        catch (Execption err)
        {
            MessageBox.Show(err.Message);
        }
    }

    Mais informações aqui

    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 19 de julho de 2016 17:56
    Moderador
  • Oi Obrigado por responder, 

    Esqueci de falar algo, é em Asp.net e rodo por o codigo em C# e o botao de excluir é em cima da linha, ou seja, preciso excluir somente uma linha. 

    Ao tentar fazer algo conforme orientado gerou varias linhas de erros. Exemplo:

    o Nome Ds nao existe no contexto atual; objConnect a mesma coisa; objConnect a mesma coisa de não existir. 


    Kelsen Nunes

    quarta-feira, 20 de julho de 2016 02:21
  • Boa tarde Kelsen Nunes,

    Por gentileza, verifique o conteúdo desta página:

    "...adicionar e deletar linhas do GridView em ASP.NET"

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 20 de julho de 2016 16:49
    Moderador