vb.net DataGridView指定多个标题文本写入数组,用数组元素按行向下遍历,获取标题文本对应单元格的值,每行后面带详细注释
时间: 2024-03-20 15:40:34 浏览: 63
好的,以下是代码实现:
首先,我们需要指定要获取哪些列的标题文本,假设我们要获取"Name"和"Age"列的标题文本。可以使用以下代码:
```
Dim headerTexts As String() = {"Name", "Age"}
Dim columnIndices As Integer() = headerTexts.Select(Function(h) dataGridView1.Columns(h).Index).ToArray()
```
上面的代码中,我们通过指定列的标题文本来获取每列的索引,进而可以在遍历时根据索引获取对应单元格的值。
接下来,我们可以使用以下代码将每行指定列的单元格值存入数组中:
```
Dim cellValuesArray As New List(Of String())()
For Each row As DataGridViewRow In dataGridView1.Rows
' 获取指定列对应单元格的值
Dim cellValues As String() = columnIndices.Select(Function(i) row.Cells(i).Value?.ToString()).ToArray()
' 将该行的单元格值存入数组中
cellValuesArray.Add(cellValues)
Next
```
上面的代码中,我们使用List(Of String())类型来存储每行指定列的单元格值,最终得到一个二维数组。
完整代码如下:
```
Dim headerTexts As String() = {"Name", "Age"}
Dim columnIndices As Integer() = headerTexts.Select(Function(h) dataGridView1.Columns(h).Index).ToArray()
Dim cellValuesArray As New List(Of String())()
For Each row As DataGridViewRow In dataGridView1.Rows
' 获取指定列对应单元格的值
Dim cellValues As String() = columnIndices.Select(Function(i) row.Cells(i).Value?.ToString()).ToArray()
' 将该行的单元格值存入数组中
cellValuesArray.Add(cellValues)
Next
For Each cellValues As String() In cellValuesArray
' 在这里可以对该行的单元格值进行处理
' ...
Next
```
需要注意的是,上面的遍历方式是按照行来遍历的,每个元素都是一个数组,包含了指定列的所有单元格值。如果需要按照列来遍历,可以使用以下方式:
```
For i As Integer = 0 To columnIndices.Length - 1
Dim columnHeader As String = headerTexts(i)
Dim columnValues As List(Of String) = cellValuesArray.Select(Function(c) c(i)).ToList()
' 在这里可以对该列的单元格值进行处理
' ...
Next
```
上面的代码中,我们先根据指定的列标题文本获取列索引,然后遍历每一列并获取每个单元格的值,最终得到一个一维数组。
希望这些代码能够帮助到你,如果还有其他问题,请随时问我。
阅读全文
相关推荐















