C# 通过listview控件删除datatable中的datarow
我在使用listview中的按钮从datatable中删除datarow时遇到问题。我正在尝试使用选中的按钮删除该行C# 通过listview控件删除datatable中的datarow,c#,asp.net,listview,datatable,datarow,C#,Asp.net,Listview,Datatable,Datarow,我在使用listview中的按钮从datatable中删除datarow时遇到问题。我正在尝试使用选中的按钮删除该行 protected void ShoppingCart_SelectedIndexChanged(object sender, EventArgs e) { String title = ((Label)(ShoppingCart.Items[ShoppingCart.SelectedIndex].FindControl("Title"))).Text; Da
protected void ShoppingCart_SelectedIndexChanged(object sender, EventArgs e)
{
String title = ((Label)(ShoppingCart.Items[ShoppingCart.SelectedIndex].FindControl("Title"))).Text;
DataTable shoppingcart = (DataTable)HttpContext.Current.Session["Cart"];
DataRow[] rows = shoppingcart.Select("Title ='" + title + "'");
for (int i = rows.Length - 1; i >= 0; i--)
{
shoppingcart.Rows.Remove(rows[i]);
}
shoppingcart.AcceptChanges();
ShoppingCart.DataSource = shoppingcart;
ShoppingCart.DataBind();
}
购物车的Listview::
<asp:ListView ID="ShoppingCart" runat="server" onselectedindexchanged="ShoppingCart_SelectedIndexChanged"
>
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label ID="idlabel1" runat="server" Text='<%#Eval("id") %>' />
</td>
<td>
<asp:Label ID="titlelabel" runat="server" Text='<%# Eval("Title")%>'></asp:Label>
</td>
<td>
<asp:Label ID="pricelabel" runat="server" Text='<%#Eval("Price") %>'></asp:Label>
</td>
<td>
<asp:TextBox ID="quantitytb" runat="server" Width="50px" Text='<%#Eval("quantity") %>'></asp:TextBox>
</td>
<td>
<asp:Label ID="subtotallabel" runat="server" Text='<%#getsubtotal(decimal.Parse(Eval("Price").ToString()), int.Parse(Eval("quantity").ToString())) %>'></asp:Label>
</td>
<td>
<asp:Button ID="Button1" runat="server" Text="-" Font-Names="Web Symbols" CommandName="Select"/>
</td>
</tr>
</table>
</ItemTemplate>
</asp:ListView>
我试图删除它,但它不工作。有人能帮我吗?如果要从列表视图中删除该行,只需从列表视图中删除该项,而不是查找数据表,然后删除并再次绑定它
if (ListView1.SelectedItems.Count > 0)
ListView1.SelectedItems[0].Remove();
正如我从代码中所理解的,您将数据表保存在会话中,并在其中读取表单,并与for循环匹配
为什么不从列表视图中获取一个键值,然后使用datatable查找该行。选择xxxxx==yyyyy,然后删除该行。我尝试同时使用这两个键值,但没有任何结果
if (ListView1.SelectedItems.Count > 0)
ListView1.SelectedItems[0].Remove();