更改datagridview vb.net中列的数据类型



我想将DataGridView中一列的数据类型更改为Double。这是因为我在该DataGridView中有要显示的数据,并且我需要更新/编辑该DataGridView中的值数据,该数据类型为Double。需要将一列(有许多行(更改为双重类型。我想更改它,因为我想将该值与另一列上的数据值进行比较。在我的数据库PostgreSQL中,我使用了该列的双重类型。当我用上面的代码运行我的程序时,它会显示一个Messagebox,上面写着"从字符串'Update-hasillab-set-wbc='10'I"转换为类型'Double'是无效的。这不像我所期望的

此代码不起作用:

For i As Integer = 0 To dgv_hasillab.Rows.Count - 1
dgv_hasillab.Columns(1).CellTemplate.ValueType = GetType(String)
Next

这可能是一个迟来的答案,但我无论如何都会分享它经过一段时间的寻找,我也面临着这个问题的解决方案。我找到的唯一解决方案是在将数据表连接到DataGridView之前,用所需的数据类型制作另一个数据表副本,然后将修改后的数据表副本填充到DataGridView。

该代码将帮助:

Dim datatableAllString As New DataTable
For Each col As DataColumn In ORIGINALTABLE.Columns
datatableAllString.Columns.Add(col.ColumnName, GetType(String))
Next
Dim newrow As DataRow
For Each r As DataRow In ORIGINALTABLE.Rows
newrow = datatableAllString.NewRow
For i As Int32 = 0 To datatableAllString.Columns.Count - 1
newrow(i) = r.ItemArray(i).ToString()
Next i
datatableAllString.Rows.Add(newrow)
Next r
ORIGINALTABLE.Dispose()
MY_DGV.DataSource = datatableAllString

您可以在GetType((函数中根据您的要求更改代码循环时选择的任何列的数据类型。

相关内容

最新更新