Asp.net Gridview AutoGenerateEditButton Edit не работает при нажатии

Я пытаюсь сделать свой gridview доступным для редактирования, но когда я нажимаю «Изменить», я получаю пустую страницу.

Мой aspx-код:

        <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>

Мой код позади

    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();
    }

Мой вопрос: как я могу сделать кнопку «Редактировать» редактируемой для этой записи?

Заранее спасибо.

PS.: Я буду беспокоиться о хранении данных в базе данных после того, как решу эту проблему.


person guisantogui    schedule 01.10.2013    source источник
comment
вам нужно bind gridview в событии rowedit, я имею в виду, что с datatable ссылайтесь satindersinght.blogspot.in/2012/08/   -  person Satinder singh    schedule 01.10.2013


Ответы (1)


Вам нужно снова привязать gridview к событию rowedit, то же самое для события rowcanel, и ваш код будет выглядеть примерно так

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();
}
person Satinder singh    schedule 01.10.2013