vb.net DataGridView把指定列的所有单元格全部赋值给不同数据类型的变量的多种方法
时间: 2024-03-23 11:36:41 浏览: 104
除了使用 Convert 类进行类型转换外,还有其他方法可以将 DataGridView 指定列的所有单元格值赋值给不同数据类型的变量。
方法一:使用 DataGridViewRow.DataBoundItem 属性获取绑定的数据对象
假设您的 DataGridView 是通过数据绑定的方式填充的,可以使用 DataGridViewRow.DataBoundItem 属性获取当前行绑定的数据对象,并根据数据对象的属性值进行类型转换。以下是示例代码:
```
' 假设您的 DataGridView 绑定了一个名为 MyData 的数据集
' 遍历 DataGridView 的每一行
For Each row As DataGridViewRow In dataGridView1.Rows
' 获取当前行绑定的数据对象
Dim dataObj As MyData = TryCast(row.DataBoundItem, MyData)
If dataObj IsNot Nothing Then
' 根据数据对象的属性值进行类型转换并赋值给变量
Dim variable1 As Integer = dataObj.Column1
Dim variable2 As Double = dataObj.Column2
' ...
End If
Next
```
方法二:使用 DataGridViewRow.Cells 属性获取单元格对象
除了使用 Convert 类进行类型转换外,还可以使用 DataGridViewRow.Cells 属性获取单元格对象,并根据单元格对象的 ValueType 属性进行类型转换。以下是示例代码:
```
' 遍历 DataGridView 的每一行
For Each row As DataGridViewRow In dataGridView1.Rows
' 获取当前行的指定列单元格对象
Dim cell1 As DataGridViewCell = row.Cells("Column1")
Dim cell2 As DataGridViewCell = row.Cells("Column2")
' ...
' 根据单元格对象的 ValueType 属性进行类型转换并赋值给变量
Dim variable1 As Integer = 0
If cell1.ValueType Is GetType(Integer) Then
variable1 = CInt(cell1.Value)
End If
Dim variable2 As Double = 0
If cell2.ValueType Is GetType(Double) Then
variable2 = CDbl(cell2.Value)
End If
' ...
Next
```
方法三:使用 DataGridViewRow.Cells 属性获取单元格值并根据单元格值进行类型转换
如果您确定指定列的所有单元格值都是符合要求的数据类型,也可以直接使用 DataGridViewRow.Cells 属性获取单元格值并根据单元格值进行类型转换。以下是示例代码:
```
' 遍历 DataGridView 的每一行
For Each row As DataGridViewRow In dataGridView1.Rows
' 获取当前行的指定列单元格值并根据单元格值进行类型转换
Dim variable1 As Integer = CInt(row.Cells("Column1").Value)
Dim variable2 As Double = CDbl(row.Cells("Column2").Value)
' ...
Next
```
请注意,以上代码仅适用于指定列的所有单元格值类型均为同一种数据类型。如果您需要处理不同数据类型的单元格值,需要根据实际情况进行类型转换。
阅读全文