Vb.net 使用动态数组更新列表框上的值

Vb.net 使用动态数组更新列表框上的值,vb.net,Vb.net,我在更改列表框上项目数量的值时遇到了一个异常的问题。我的代码可以更改第一项的数量值,但我不明白为什么循环不更改其他数量的值 我全局声明了两个(动态)数组:arrProduct-用于保存项的数量和arrProductID-用于跟踪要更改的项的数量,它将项ID与字符串变量temp同时存储- 全局变量: 代码: 感谢您抽出时间阅读此请求。非常感谢您的帮助。停止使用数组,改用列表(of T)集合。如果数据来自db(Group16DataSet1),为什么要将其复制到数组甚至列表中。研究数据绑定我正在尝试

我在更改列表框上项目数量的值时遇到了一个异常的问题。我的代码可以更改第一项的数量值,但我不明白为什么循环不更改其他数量的值

我全局声明了两个(动态)数组:arrProduct-用于保存项的数量和arrProductID-用于跟踪要更改的项的数量,它将项ID与字符串变量temp同时存储-

全局变量: 代码:
感谢您抽出时间阅读此请求。非常感谢您的帮助。

停止使用数组,改用列表(of T)集合。如果数据来自db(
Group16DataSet1
),为什么要将其复制到数组甚至列表中。研究数据绑定我正在尝试添加客户想要购买的商品名称,但我可以尝试使用dataGridView,因为商品描述的格式仍然有点混乱。谢谢您的建议。
Dim dailySale As Decimal
Dim stringF As String = "{0,10},{1,83},{2,55}"
Dim stringP As String = "{0,10},{1,25},{2,60}"

Dim arrProductID(100) As Integer
Dim arrProduct(100) As Integer
Dim c As Integer = 0
Dim temp As String = ""
 Private Sub btnEnter_Click(sender As Object, e As EventArgs) Handles btnEnter.Click
    'Adds an item to the checkbox list when making a sale
    Dim ItemID As Integer = txtSalesProductID.Text
    Dim rowNum As Integer = (Group16DataSet1.Product.Rows.Count) - 1

    Dim valid As Boolean = False


    For value As Integer = 0 To rowNum
        If (ItemID = Group16DataSet1.Product.Rows(value).Item(0)) Then
            valid = True

            If (temp.Contains(ItemID.ToString)) Then
                MsgBox("AGAIN")

                For i As Integer = 0 To c - 1
                    If (arrProductID(i) = ItemID) Then
                        productList.Items.RemoveAt(i + 2)
                        arrProduct(i) += 1
                        productList.Items.Add(String.Format(stringP, Group16DataSet1.Product.Rows(i).Item(1).ToString, arrProduct(i), "R " + Group16DataSet1.Product.Rows(i).Item(4).ToString))
                        MsgBox(i)
                    End If
                Next

            Else
                MsgBox("ENTERED ONCE")
                temp = temp + "," + Group16DataSet1.Product.Rows(value).Item(0).ToString

                ReDim arrProductID(100)
                ReDim Preserve arrProductID(c)
                arrProductID(c) = 1

                ReDim arrProduct(100)
                ReDim Preserve arrProduct(c)
                arrProduct(c) = 1

                productList.Items.Add(String.Format(stringP, Group16DataSet1.Product.Rows(value).Item(1).ToString, arrProduct(c), "R " + Group16DataSet1.Product.Rows(value).Item(4).ToString))

                c += 1
            End If
        End If

    Next

    If valid = False Then
        MsgBox("Product not in stock")
    End If

    For i As Integer = 0 To (productList.Items.Count - 1)
        '  ProductList.SetItemChecked(i, True)
    Next
End Sub