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),并插入新值。
对于我来说,清除列中特定行的项,然后仅在该单元格中插入项的最佳方式是什么?
如果我不清楚,请问。这真的开始成为一种痛苦。
谢谢