在 VB.NET 中,DataGridView 是一个强大的控件,用于显示和编辑表格数据。当需要遍历 DataGridView 的行时,开发者通常会尝试使用整型循环,但可能会遇到一些问题。
' 安全遍历所有数据行(不包括新行)
For i As Integer = 0 To DataGridView1.Rows.Count - 1
' 检查是否是新建行(非数据行)
If Not DataGridView1.Rows(i).IsNewRow Then
' 处理每一行数据
Dim cellValue As String = DataGridView1.Rows(i).Cells(0).Value.ToString()
' 其他操作...
End If
Next
' 或者使用For Each循环(推荐)
For Each row As DataGridViewRow In DataGridView1.Rows
If Not row.IsNewRow Then
' 处理每一行数据
Dim cellValue As String = row.Cells(0).Value.ToString()
' 其他操作...
End If
Next
问题1:索引越界
' 确保有行存在再循环
If DataGridView1.Rows.Count > 0 Then
For i As Integer = 0 To DataGridView1.Rows.Count - 1
' 处理代码
Next
End If
问题2:处理空值
For Each row As DataGridViewRow In DataGridView1.Rows
If Not row.IsNewRow Then
For Each cell As DataGridViewCell In row.Cells
' 检查单元格是否有值
If cell.Value IsNot Nothing Then
' 处理单元格值
End If
Next
End If
Next
这些技术适用于:
通过正确使用循环遍历DataGridView的行,可以高效地处理表格数据而不会遇到常见的索引或空值问题。