vb.net DataGridView根据列标题文本获取对应列的所有字符串多种方法完整代码,代码后面带注释
时间: 2024-03-18 20:40:23 浏览: 132
下面是vb.net中根据DataGridView列标题文本获取对应列的所有字符串的多种方法的完整代码,注释已经添加在代码中:
```vb
' 获取列标题文本为“columnName”的所有单元格的字符串值列表
Private Function GetCellValuesByColumnName(ByVal dgv As DataGridView, ByVal columnName As String) As List(Of String)
Dim values As New List(Of String)
For Each column As DataGridViewColumn In dgv.Columns
' 如果当前列的标题文本与指定的列名相同
If column.HeaderText = columnName Then
' 遍历该列的所有单元格
For Each row As DataGridViewRow In dgv.Rows
' 获取指定单元格的值,并转换为字符串类型
values.Add(row.Cells(column.Index).Value.ToString())
Next
Exit For ' 退出循环,只获取第一个符合条件的列
End If
Next
Return values
End Function
' 获取列标题文本为“columnName”的所有单元格的字符串值数组
Private Function GetCellValuesArrayByColumnName(ByVal dgv As DataGridView, ByVal columnName As String) As String()
Dim values As New List(Of String)
For Each column As DataGridViewColumn In dgv.Columns
' 如果当前列的标题文本与指定的列名相同
If column.HeaderText = columnName Then
' 遍历该列的所有单元格
For Each row As DataGridViewRow In dgv.Rows
' 获取指定单元格的值,并转换为字符串类型
values.Add(row.Cells(column.Index).Value.ToString())
Next
Exit For ' 退出循环,只获取第一个符合条件的列
End If
Next
Return values.ToArray()
End Function
' 获取列标题文本为“columnName”的所有单元格的字符串值,用分隔符“separator”连接
Private Function GetCellValuesStringByColumnName(ByVal dgv As DataGridView, ByVal columnName As String, ByVal separator As String) As String
Dim values As New List(Of String)
For Each column As DataGridViewColumn In dgv.Columns
' 如果当前列的标题文本与指定的列名相同
If column.HeaderText = columnName Then
' 遍历该列的所有单元格
For Each row As DataGridViewRow In dgv.Rows
' 获取指定单元格的值,并转换为字符串类型
values.Add(row.Cells(column.Index).Value.ToString())
Next
Exit For ' 退出循环,只获取第一个符合条件的列
End If
Next
Return String.Join(separator, values)
End Function
```
使用方法:
```vb
Dim dgv As New DataGridView()
' 假设dgv中有标题为“姓名”的列
' 获取所有姓名的列表
Dim namesList As List(Of String) = GetCellValuesByColumnName(dgv, "姓名")
' 获取所有姓名的数组
Dim namesArray As String() = GetCellValuesArrayByColumnName(dgv, "姓名")
' 获取所有姓名的字符串,用逗号分隔
Dim namesString As String = GetCellValuesStringByColumnName(dgv, "姓名", ",")
```
阅读全文