2012-04-09 3 views
1

Я пытаюсь удалить выбранную строку в gridview из datatable, но кажется, что она не удаляется. in, если stat Table.Rows.Count = 0 не работает, и я пытаюсь сделать это с одной строкой в ​​виде сетки.Как удалить DataRow из DataTable в RowCommand

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

Где index приходят из в Table.Rows(index).Delete()?

В любом случае, этот Delete() только отмечает запись для удаления в памяти. Вам нужно добавить Adapter.Update(), чтобы удалить его из базы данных.

+0

спасибо, что привели меня к ответу. Таблица. Показатели (индекс) .Delete() Таблица.AcceptChanges() – Dav

Смежные вопросы