Я использую ASP.NET с VB.NET, и я хочу, чтобы пользователь добавил несколько строк в таблицу данных.

Я пытаюсь добавить несколько строк в таблицу данных во время выполнения (текстовые поля, поле со списком 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)
0
Lisa 26 Фев 2018 в 15:36

1 ответ

Лучший ответ

Спасибо всем, я нашел ответ

Если кому-то интересно, это мое решение:

Открытый класс 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

Конечный класс

0
Lisa 3 Мар 2018 в 11:20