Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Reanto

C# Gridview nao atualiza

Recommended Posts

Boa tarde pessoal;

 

Eu tenho uma GridView que lista uma coleção que tem o ShowDeleteButton = True; , Quando clico em delete, deleta, mas nao atuliza a grid.

 

minha GridView

 

<asp:GridView ID="gvContato" runat="server" AutoGenerateColumns="False"
                        CellPadding="4" ForeColor="#333333" GridLines="None" Width="100%" OnRowCommand="gvContato_RowCommand">
                        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                        <Columns>
                            <asp:BoundField DataField="IdTypeContact" HeaderText="Tipo de Contato" HeaderStyle-Width="150px" ItemStyle-Width="150px" HeaderStyle-HorizontalAlign="Left" />
                            <asp:BoundField DataField="Valor" HeaderText="Valor do Contato"  HeaderStyle-HorizontalAlign="Left" />
                            <asp:CommandField DeleteText="delete" ShowDeleteButton="true"/>
                        </Columns>
                        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                        <EditRowStyle BackColor="#999999" />
                        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                    </asp:GridView>

Ação

 

protected void gvContato_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Delete")
        {
            ContatoField cfDelete = null;
            List<ContatoField> lDel = (List<ContatoField>)gvContato.DataSource;

            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow gvr = gvContato.Rows[index];

            foreach (ContatoField cf in lDel)
            {
                if (cf.IdTypeContact == Convert.ToInt32(gvr.Cells[0].Text) &&
                    cf.Valor.Trim() == gvr.Cells[1].Text.Trim())
                {
                    cfDelete = cf;
                    break;
                }   
  
            }
            
           
            lDel.Remove(cfDelete);
            gvContato.DataSource = lDel;
            gvContato.DataBind();
            

            //MostraContato();
        }
    }

Obrigado galera,

 

me ajudem por favor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.