Pregunta

I'm trying to make my gridview be editable, but when I click "Edit" I get a blank page

My aspx code:

        <asp:Panel ID="pnl_usuarios" runat="server">
            <asp:GridView ID="grd_usuarios" runat="server" Width="100%" OnRowEditing="grd_usuarios_RowEditing"
                OnRowCancelingEdit="grd_usuarios_RowCancelingEdit"
                AutoGenerateEditButton="true" AutoGenerateColumns="false">

                <Columns>
                    <asp:BoundField DataField="Nome" HeaderText="Nome">
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"/>
                    </asp:BoundField>

                    <asp:CheckBoxField DataField="Ativo" HeaderText="Ativo">
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"/>
                    </asp:CheckBoxField>

                    <asp:CheckBoxField DataField="Administracao" HeaderText="Administração">
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"/>
                    </asp:CheckBoxField>

                    <asp:CheckBoxField DataField="VisaoGeral" HeaderText="Visão Geral">
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"/>
                    </asp:CheckBoxField>

                    <asp:CheckBoxField DataField="Estatisticas" HeaderText="Estatístcas">
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"/>
                    </asp:CheckBoxField>

                    <asp:CheckBoxField DataField="Help" HeaderText="Help">
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"/>
                    </asp:CheckBoxField>

                </Columns>

            </asp:GridView>
        </asp:Panel>

My code behind

    protected void grd_usuarios_RowEditing(object sender, GridViewEditEventArgs e)
    {
        grd_usuarios.EditIndex = e.NewEditIndex;
        grd_usuarios.DataBind();
    }

protected void grd_usuarios_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        grd_usuarios.EditIndex = -1;
        grd_usuarios.DataBind();
    }

My question is, how can i make the "Edit" button turn editable that record?

Thanks in advance.

PS.: I'll be worried about storing the data in database after I solve this problem.

¿Fue útil?

Solución

You need to bind you gridview again at rowedit event same for rowcanel event too your code will something look like this

protected void grd_usuarios_RowEditing(object sender, GridViewEditEventArgs e)
{
       grd_usuarios.EditIndex = e.NewEditIndex;
       bindGridview();
}

public void  bindGridview()
{
   grd_usuarios.DataSource = yourDataTable;
   grd_usuarios.DataBind();
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top