Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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...
Carregando comentários...