如何比较两个datagridview行单元格的值?
Posted
技术标签:
【中文标题】如何比较两个datagridview行单元格的值?【英文标题】:How to compare two datagridview row cell value? 【发布时间】:2019-09-26 21:34:38 【问题描述】:如何比较两个 datagridview 值? 我正在尝试检查 Datagridview1 主题代码是否存在于 Datagridview2 中
编辑:
当用户单击按钮时会发生这种情况。选定的行将被添加到 datagridview2 列表中
if datagridview1 subcode = datagridview2 subcode then
datagridview1.row color = gray.
Datagridview1(这是一个主题列表)
Datagridview2
【问题讨论】:
您希望这种情况发生在什么时候?当用户选择一行时?在Button.Click
事件中?是否有可能多个单元格在第二个 DataGridView 中具有相同的值?如果是这样,应该怎么办?
@Jimi 点击按钮。每次用户在 datagridview1 中添加主题时,它都会转到 datagridview2。因此,如果它存在于 datagridview2 中,则 datagridview1 行中的颜色将为灰色。谢谢。
我认为您应该在 DGV1 中添加一个隐藏列,其中包含一个布尔值,当一个主题被添加到时,您将其设置为True
(意思是已经复制) DGV2。所以如果该列的值为True
,则不能再次添加。
【参考方案1】:
您可以从 DataGridView 创建一个子代码列表并通过这种方式进行检查。
Dim subCodeList as new List(Of String)
For i as Integer = 0 To datagridview1.Rows.Count - 1
subCodeList.add(datagridview1.Rows(i).Cells("subCode").Value.toString())
Next
' Then in your second DataGridView
For i as Integer = 0 To datagridview2.Rows.Count - 1
If subCodeList.Contains(datagridview2.rows(i).cells("subCode").value.tostring()) THEN
' Do something if it's found.
End if
Next
可能有一种更简单的方法可以做到这一点,但这可能会让你开始。
【讨论】:
以上是关于如何比较两个datagridview行单元格的值?的主要内容,如果未能解决你的问题,请参考以下文章
对于使用“DataGridView”的 Windows 窗体应用程序,如何检查数据源中的值并更改单独单元格的颜色?