VB.Net如何将文本框中的行存储为变量供以后使用?

时间:2017-12-04 07:23:18

标签: vb.net

我有一个软件开发评估,要求我创建一个用户可以订购产品的表单。此表单如下所示:https://i.imgur.com/48qrsIc.jpg

添加产品时,产品名称和数量会显示在下面的文本框中,如下所示:https://i.imgur.com/OGzG8Jf.jpg

我希望能够将底部文本框中的每一行设置为变量,以便将其存储在我的数据库中。我不知道我是否需要将其作为阵列或列表,因为我也不知道如何做到这一点。

非常感谢任何帮助。非常感谢!!!

1 个答案:

答案 0 :(得分:0)

您永远不应该使用控件来存储数据。你应该做的是有一个" Cart"对象是项目订单的列表。商品订单应该是包含订单代码,数量和可能产品描述的对象。

Private Class Product
    Property ProductCode As Integer
    Property Description As String
    Property StockQuantity As Integer
    Property Price As Decimal
End Class

Dim products As New List(Of Product)

Private Class OrderItem
    Public Property ProductCode As Integer
    Public Property Quantity As Integer
End Class

Dim cart As New List(Of OrderItem)

在您的组合框中,您应该使用Description作为.DisplayMember

将其绑定到产品列表

点击"添加到购物车"按钮,然后您可以使用ComboBox.SelectedItem这将是实际的产品对象,并将其直接添加到您的购物车。

此时,不是将您的数据存储在RichTextBox中,而是将其作为订单商品列表存储在Cart对象中。您可以使用此列表填充RichTextBox,如下所示。

Private Sub RefreshRtbOrders()
    RtbOrders.SuspendLayout()
    RtbOrders.Clear()
    For Each item As OrderItem In cart
        RtbOrders.AppendText(item.Quantity.ToString("0000  ") & products.Find(Function(x) x.ProductCode = item.ProductCode).Description & vbCrLf)
    Next
    CboProducts.ResumeLayout()
End Sub

然后,您可以使用Cart对象更新数据库。