2012-04-09 10 views
1

グリッドビューで選択した行をデータテーブルから削除しようとしていますが、削除されていないようです。の場合は、Table.Rows.Count = 0は動作していないと私はグリッドビューで1つの行でこれをしようとしています。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

関連する問題