1

我正在尝试从数据表中删除网格视图中选定的行,但它似乎没有删除。如果语句 Table.Rows.Count = 0 不起作用,我正在尝试在网格视图中使用一行。

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
4

1 回答 1

0

从哪里来?index_ Table.Rows(index).Delete()

无论如何,这只是在内存中Delete()标记要删除的记录。您需要添加一个以将其从数据库中删除。 Adapter.Update()

于 2012-04-09T11:09:08.063 回答