我有一个“table_info”表,在添加新 ID、名称时有一列 ID、NAME。我想检查它是否已经存在。如果存在,则生成一个 MessageBox。
如何才能做到这一点
我有一个“table_info”表,在添加新 ID、名称时有一列 ID、NAME。我想检查它是否已经存在。如果存在,则生成一个 MessageBox。
如何才能做到这一点
实现这一目标的方法不止一种。如果您没有太多行,您可以检查数据源/集或实际的 datagridview 本身。如果是后者,那么您可以这样做:
如果满足条件,检查函数返回 true:
Function IsInDatagridview(ByVal cell1 As String, ByVal cell2 As String, ByVal rowCell1_ID As Integer, ByVal rowCell2_ID As Integer, ByRef dgv As DataGridView)
Dim isFound As Boolean = False
For Each rw As DataGridViewRow In dgv.Rows
If rw.Cells(rowCell1_ID ).Value.ToString = cell1 Then
If rw.Cells(rowCell2_ID ).Value.ToString = cell2 Then
isFound = True
Return isFound
End If
End If
Next
Return isFound
End Function
.
然后在满足条件时使用 Function 显示 MessageBox:
If (IsInDatagridview("id", "name", 0, 1, DataGridView1)) Then
''// Code to display message.
MsgBox("Record Exists!", MsgBoxStyle.Information)
End If
您可能需要将 ID 更改为整数,但我认为它应该可以工作。没有测试过。
好的,这将做的是遍历您指定的datagridview中的每一行'rw',检查单元格列的字符串匹配',如果找到匹配'isFound'设置为true,则返回'isFound'。
Ypu 必须将 userowCell_ID
作为字符串引用,因为它是 datagridivew 中的列名:
Function IsInDatagridview(ByVal cell1 As String, ByVal cell2 As String, ByVal rowCell1_ID As Integer, ByVal rowCell2_ID As Integer, ByRef dgv As DataGridView)
Dim isFound As Boolean = False
For Each rw As DataGridViewRow In dgv.Rows
If rw.Cells("rowCell1_ID" ).Value.ToString = cell1 Then
If rw.Cells("rowCell2_ID" ).Value.ToString = cell2 Then
isFound = True
Return isFound
End If
End If
Next
Return isFound
End Function