Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 清除项目并将其添加到DataGridViewComboBox,但仅针对选定的行,而不是整个列_Vb.net_Datagridviewcombobox_Datagridviewcomboboxcell - Fatal编程技术网

Vb.net 清除项目并将其添加到DataGridViewComboBox,但仅针对选定的行,而不是整个列

Vb.net 清除项目并将其添加到DataGridViewComboBox,但仅针对选定的行,而不是整个列,vb.net,datagridviewcombobox,datagridviewcomboboxcell,Vb.net,Datagridviewcombobox,Datagridviewcomboboxcell,在DataGridViewComboBox上有几篇文章,但没有涉及这个具体案例。 我有一个鞋子账单表单中的DGV,前三列是组合框。第一,模型;第二,对于色彩;第三,数字。 因为我希望人们只出售库存,所以在CellValueChanged;根据列索引的不同,我清除下一个组合并插入相应的项。举个简单的例子,我在第一个组合中有“Nike Pegassus”,我在第二个组合中选择了“绿色”,我选择了该型号和颜色的所有可用数字,并在我清除了其中的项目后将其插入第三列,以防选择了其他颜色。这是部分代码 If

DataGridViewComboBox
上有几篇文章,但没有涉及这个具体案例。 我有一个鞋子账单表单中的DGV,前三列是组合框。第一,模型;第二,对于色彩;第三,数字。 因为我希望人们只出售库存,所以在
CellValueChanged
;根据
列索引
的不同,我清除下一个组合并插入相应的项。举个简单的例子,我在第一个组合中有“Nike Pegassus”,我在第二个组合中选择了“绿色”,我选择了该型号和颜色的所有可用数字,并在我清除了其中的项目后将其插入第三列,以防选择了其他颜色。这是部分代码

If e.RowIndex >= 0 Then
    If e.ColumnIndex = 0 Then
        Dim objColumna As DataGridViewComboBoxColumn = dtgDetalle.Columns(1)
        Dim colItems As New Collection
        Dim Dattabla As DataTable
        Dim objColor As New clsColor(objObjeto.Sesion)
        Dattabla = objColor.BuscarTodos("CodColor IN (select distinct Stock.CodColor from Stock inner join Color on Stock.CodColor = Color.CodColor where Stock.Cantidad > 0 AND Stock.CodModelo=" & CType(objColumna.Items(dtgDetalle.Rows(e.RowIndex).Cells(0).Value), clsElementoListaFactura).Codigo & ")")
        objColor = Nothing
        objColumna = dtgDetalle.Columns(1)
        objColumna.Items.Clear()
        dtgDetalle.Rows(e.RowIndex).Cells(1).Value = Nothing
        dtgDetalle.Rows(e.RowIndex).Cells(2).Value = Nothing

        For Each darRecord In Dattabla.Rows
            objColor = New clsColor(objObjeto.Sesion)
            objColor.Codigo = darRecord.item("CodColor").ToString
            Dim objElemento As New clsElementoListaFactura(darRecord.item("Color").ToString, objColumna.Items.Count, "C", CInt(darRecord.item("CodColor").ToString), "1")
            objColumna.Items.Add(objElemento)
            objColor = Nothing
        Next

        objColumna.ValueMember = "ItemData"
        objColumna.DisplayMember = "Name"

. . . . . .
这只适用于一排! 当我转到第#2行并更改第一个组合的索引时,我只想更改组合(1,1)和(1,2),但我也会清除(0,1)和(0,2),并插入新值。 对于我来说,清除列中特定行的项,然后仅在该单元格中插入项的最佳方式是什么? 如果我不清楚,请问。这真的开始成为一种痛苦。 谢谢