Member 13543270 Ответов: 1

Хотите удалить строку из gridview при нажатии кнопки command drop


Некоторые строки удаляются, а другие-нет, когда вы нажимаете на drop (commandfield) в gridview

Та же проблема применяется и к комментируемым строкам, когда я их тоже пробую

Что я уже пробовал:

формат HTML

<asp:GridView ID="Grid" runat="server" AutoGenerateColumns="False" Height="65px" OnSelectedIndexChanged="Grid_SelectedIndexChanged" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" GridLines="None" OnRowDeleting="Grid_RowDeleting">
            <Columns>
                <asp:BoundField HeaderText="id" DataField="id" />
                <asp:BoundField HeaderText="firstname" DataField="firstname" />
                <asp:BoundField HeaderText="lastname" DataField="lastname" />
                <asp:BoundField HeaderText="age" DataField="age" />
                <asp:CommandField DeleteText="Drop" ShowDeleteButton="True" />
            </Columns>

            <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
            <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
            <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
            <RowStyle BackColor="#DEDFDE" ForeColor="Black" />
            <SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#F1F1F1" />
            <SortedAscendingHeaderStyle BackColor="#594B9C" />
            <SortedDescendingCellStyle BackColor="#CAC9C9" />
            <SortedDescendingHeaderStyle BackColor="#33276A" />

        </asp:GridView>


с#

protected void Grid_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            DataTable dtDatas = (DataTable)ViewState["dtDatas"];
            if (dtDatas.Rows.Count > 0)
            {
                //Grid.DeleteRow(Grid.SelectedIndex);
                //dtDatas.Rows.RemoveAt(0);
                dtDatas.Rows[e.RowIndex].Delete();
                Grid.DataSource = dtDatas;
                Grid.DataBind();
                
            }
        }

Sarita Mall

приведенный выше код работает нормально, за исключением <SortedAscendingCellStyle BackColor="#F1F1F1" />.

Пожалуйста, уточните, с какой именно ошибкой вы столкнулись?

Laxmidhar tatwa technologies

пробовать
Сетки.Источник данных = значение null;
Grid.DataBind();
Сетки.Источник данных = dtDatas;
Grid.DataBind();

1 Ответов

Рейтинг:
0

Darryl Bryk

Вы проверили в режиме отладки, каково значение e.RowIndex, чтобы убедиться, что это та строка, которую вы хотите удалить?

Кроме того, я предполагаю, что вы привязываете DataTable к GridView в другом методе при его инициализации, и поэтому это не нужно делать снова в методе delete.