请教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 展开
 我来答
阳光的雷咩咩
2016-11-22 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7841万
展开全部
什么叫“之前的选择丢失”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式