Question

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.

Était-ce utile?

La solution

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();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top