使用VB.NET的ASP.NET向数据表添加行不会在回发后保留

时间:2018-02-26 12:36:18

标签: asp.net webforms

我在VB.NET中使用ASP.NET,我希望用户在数据表中添加几行。

我试图在运行时通过(textboxes,rad组合框和复选框)将多行添加到数据表中。 我添加第一行第二行和第三行。 但是当我呈现数据表时,它只显示我输入的最后一行 所以该表只包含一行。

如何将数据表中的所有行不仅保留一行?我尽力帮忙。

这是我的代码:

Dim dcItemID = New DataColumn("ItemID", GetType(Int32))
Dim dcUnit = New DataColumn("UnitID", GetType(Int32))
Dim ItemPrice = New DataColumn("ItemPrice", GetType(Int32))
Dim sellprice = New DataColumn("SellPrice", GetType(Int32))

dt.Columns.Add(dcItemID)
dt.Columns.Add(dcUnit)
dt.Columns.Add(ItemPrice)
dt.Columns.Add(sellprice)

dt.Rows.Add(Convert.ToInt32(rcItemName.SelectedValue), Convert.ToInt32(rcUnitID.SelectedValue), tbItemPrice.Text, tbSellprice.Text)

1 个答案:

答案 0 :(得分:0)

谢谢你,我找到了答案

如果有人对此感兴趣,那就是我的解决方案:

公共类WebForm1     继承System.Web.UI.Page

Private dt As DataTable = New DataTable()

Private dr As DataRow = Nothing
Protected Sub btnSaved_Click(sender As Object, e As EventArgs) Handles btnSaved.Click


    If ViewState("table") IsNot Nothing Then
        dt = CType(ViewState("table"), DataTable)
    End If
    dr = dt.NewRow()
    dr("ItemPrice") = tbItemPrice.Text
    dr("SellPrice") = tbSellprice.Text
    ' dr("Product_Amount") = txtAmount.Text
    dt.Rows.Add(dr)
    ViewState("table") = dt
    GridView1.DataSource = dt
    GridView1.DataBind()
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    dt.Columns.Add("ItemPrice")
    dt.Columns.Add("SellPrice")


End Sub

结束班