문제

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.

도움이 되었습니까?

해결책

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();
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top