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

问题描述 投票:0回答:1

我使用ASP.NET与VB.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)
asp.net webforms
1个回答
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

结束班

© www.soinside.com 2019 - 2024. All rights reserved.