尊敬的先生们,如何删除动态生成网格视图中的一行?
我正在生成购物车,如订购系统,其中我将产品名称,产品价格和productquantity从DataTable添加/绑定到GridView。
我已经添加一个ImageButton到gridview只用于删除选定的行。
我也知道我们不能从动态生成的网格视图中删除一行。所以我在ImageButton Click事件中放置了一个代码,该事件从DataTable中删除该行(在整个过程中为STATIC),并再次将数据绑定到GridView。
请注意,我已经在我的“BTN_ADD TO CART_Clicked”中用gridview绑定了数据。
这里是我的代码片段,
protected void gvorderlist_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
int index = Convert.ToInt32(e.CommandArgument);
DataRow row = dt.Rows[index];
dt.Rows.Remove(row);
gvorderlist.DataSource = dt;
gvorderlist.DataBind();
}
}
和ASP代码,
<asp:GridView ID="gvorderlist" runat="server" CellPadding="4"
ForeColor="#333333" GridLines="None" AllowPaging="True" PageSize="5"
onpageindexchanging="gvorderlist_PageIndexChanging"
onrowcommand="gvorderlist_RowCommand">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="Cancel Order" ShowHeader="False">
<ItemTemplate>
<asp:ImageButton ID="ImgbtnCancelOrder" runat="server" CausesValidation="false"
ImageUrl="~/images/cross.PNG" OnClientClick="Javascript: return confirm('Aap Chutiye hai');" CommandName="Delete"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我得到它说的错误:GridView控件 'gvorderlist' 解雇事件RowDeleting这是不处理。
任何帮助将不胜感激... 谢谢
将DataTable绑定到Datagridview后,datatable中的更改会自动反映在datagridview中。在按钮单击事件检索唯一列值并从数据表中删除。 –
PrakashVishwakarma,你是否试图建议我,我不应该再次在“删除按钮单击事件”中绑定gridview? – user3160395
在imagebutton点击事件,我检索行索引,我想删除哪一行然后我做上面提到的代码...所以请指导我,如果有任何错误 – user3160395