请教VB.net中datagridview如何给每个单元格增加不同的下拉列表? 10
请教datagridview如何给每个单元格增加不同的下拉列表?我要根据"Finish","Color"的选择,在"Type"列出不同的选项。下面这种写法会导致之前的选择...
请教datagridview如何给每个单元格增加不同的下拉列表?我要根据"Finish","Color"的选择,在"Type"列出不同的选项。下面这种写法会导致之前的选择丢失,请教应该如何处理? Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load DGVSM.Rows.Add(3) '实际可能是1到6行不等 End Sub Private Sub DGVSM_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVSM.CellEndEdit '为了方便测试,将以下2行固定 arrSMGroupName = "绿色 哑光 FSR-8000;绿色 无卤 KSM-S6188EHG1;蓝色 KSM-S6189 BL01;红色 无卤 KSM-S6189 ER04;浅绿色 KSM-S6189 GL27;红色 KSM-S6189 R04".Split(";") arrSMName = "FSR-8000;KSM-S6188EHG1;KSM-S6189 BL01;KSM-S6189 ER04;KSM-S6189 GL27;KSM-S6189 R04".Split(";") With DGVSM Dim Row As Integer = .CurrentRow.Index If .Item(1, Row).Value <> "" And .Item(2, Row).Value <> "" Then .Item(3, Row).Value = "" Dim Finish As String = .Item(1, Row).Value Dim Color As String = .Item(2, Row).Value Dim dtgCell As New DataGridViewComboBoxCell '给单元格加下拉项 If Finish = "亮光" Then For i As Integer = 0 To arrSMGroupName.GetUpperBound(0) If chkSMHF.Checked Then If arrSMGroupName(i).IndexOf("哑") = -1 And arrSMGroupName(i).IndexOf(Color) > -1 And arrSMGroupName(i).IndexOf("无卤") > -1 Then '不含"哑"的即为亮光 dtgCell.Items.Add(arrSMName(i)) End If Else If arrSMGroupName(i).IndexOf("哑") = -1 And arrSMGroupName(i).IndexOf(Color) > -1 Then '不含"哑"的即为亮光 dtgCell.Items.Add(arrSMName(i)) End If End If Next End If .Item(3, Row) = dtgCell '绑定到此单元格 End If End With End Sub
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询