如何比较两个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行单元格的值?的主要内容,如果未能解决你的问题,请参考以下文章

c# datagridview 绑定时 改变单元格的值

datagridview获取某个单元格的值

对于使用“DataGridView”的 Windows 窗体应用程序,如何检查数据源中的值并更改单独单元格的颜色?

WPF datagrid按钮列点击如何获取当前行某单元格的值!

DATAGRIDVIEW 单元格的自动换行

如何在 datagridview 中为单元格创建页脚