gpt4 book ai didi

vb.net - 创建动态 DataGridViewComboBoxCell

转载 作者:行者123 更新时间:2023-12-02 06:45:34 24 4
gpt4 key购买 nike

这就是我的情况。我有一个 DataGridView,它有两列,我试图将它们设置为 DataGridViewComboBoxColumns,称为“已接收”和“缺货”。

这些组合框的目的是创建一个下拉菜单,以选择当我的公司收到货件时收到/缺货的商品数量。该程序将主要在没有鼠标或键盘的触摸屏设置上运行,这就是为什么我选择使用组合框而不是仅仅要求一般用户输入。

我尝试按如下方式设置 DataGridView:

'Setup of Combo Box Columns
'shipmentData is the name of the DataGridView
Dim receiveCol As New DataGridViewComboBoxColumn()
receiveCol.HeaderText = "Received"
receiveCol.Name = "Received"
shipmentData.Columns.Add(receiveCol)
Dim backorderCol As New DataGridViewComboBoxColumn()
backorderCol.HeaderText = "Backordered"
backorderCol.Name = "Backordered"
shipmentData.Columns.Add(backorderCol)

上面的代码位于创建表单时的New()子中。我正在尝试将数据加载到组合框中,如下所示:

Dim rowNum As Integer = 0
For Each op As OrderPart In OrderData.GetPartList()
If op.AmountOrdered > 0 Then
shipmentData.Rows.Add()
shipmentData.Rows(rowNum).Cells("PartNumber").Value = op.PartNumber
shipmentData.Rows(rowNum).Cells("Description").Value = op.Description
shipmentData.Rows(rowNUm).Cells("Ordered").Value = op.AmountOrdered
For it As Integer = 0 To op.AmountOrdered
CType(shipmentData.Rows(rowNum).Cells("Received"), DataGridViewComboBoxCell).Items.Add(it)
CType(shipmentData.Rows(rowNum).Cells("Backordered"), DataGridViewComboBoxCell).Items.Add(it)
Next
rowNum = rowNum + 1
End If
Next

现在,当我运行代码时,将创建组合框并添加它们的数据。但是,每当我从组合框列表中选择一个数据值,然后尝试移动到另一个销售时,我都会收到以下错误:

System.ArgumentException: DataGridViewComboBoxCell value is not valid.

为什么我会收到此错误,如何修复它?我似乎无法弄清楚我的代码中做错了什么。

最佳答案

虽然我不知道为什么要向您的保管箱添加递增数字,但如果您打算这样做,请将代码更改为以下内容:

For it As Integer = 0 To op.AmountOrdered
CType(shipmentData.Rows(rowNum).Cells("Received"), DataGridViewComboBoxCell).Items.Add(it.ToString())
CType(shipmentData.Rows(rowNum).Cells("Backordered"), DataGridViewComboBoxCell).Items.Add(it.ToString())
Next

关于vb.net - 创建动态 DataGridViewComboBoxCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54186987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com