2012-04-09 50 views
1

我試圖從數據表中刪除gridview中的選定行,但它似乎並未刪除。在if語句Table.Rows.Count = 0不起作用,我在網格視圖中使用一行來嘗試。如何從RowCommand中的DataTable中刪除DataRow

Protected Sub GridView1_RowCommand(sender As Object, e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand 
    Dim index As Integer = Convert.ToInt32(e.CommandArgument) 

    Dim Table As New DataTable 
    Table = GridView1.DataSource 
    Dim iOriPrice As Double 
    iOriPrice = Table.Rows(index).Item("sPrice") 
    Table.Rows(index).Delete() 
    'reset table and set to gridview 
    If Table.Rows.Count = 0 Then 
     Table.Reset() 
     GridView1.DataSource = Table 
     GridView1.DataBind() 
     lblTotalAm.Text = "" 
     lblTotalMsg.Text = "Shopping Cart is empty" 
     Session.Add("BuyTable", Table) 
     btnBuyNow.Visible = False 
    Else 
     'calculate total sum and 
     Dim newTotal As Double 
     newTotal = Convert.ToDouble(lblTotalAm.Text) - iOriPrice 
     lblTotalAm.Text = newTotal 
     Session.Add("BuyTable", Table) 
     GridView1.DataSource = Table 
     GridView1.DataBind() 
    End If 

End Sub 

回答

0

indexTable.Rows(index).Delete()是從哪裏來的?

無論如何,這Delete()只記錄刪除內存。您需要添加一個Adapter.Update()以從數據庫中刪除它。

+0

謝謝你讓我回答。 Table.Rows(index).Delete() Table.AcceptChanges() – Dav 2012-04-09 11:33:16

相關問題