我想将DataGridView
中一列的数据类型更改为Double
。这是因为我要在该DataGridView
中显示数据,并且需要从该DataGridView
更新/编辑值数据,该数据类型为Double
。
需要将一列(具有很多行)更改为双精度类型。我想更改它,因为我想将值与另一列上的数据值进行比较。在我的数据库PostgreSQL中,我使用了该列的双重类型。当我使用上述代码运行程序时,它显示消息框,其中说“从字符串'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
答案 0 :(得分:0)
可能是一个较晚的答案,但我还是会分享 一直在寻找我也面临的这个问题的解决方案。 我发现的唯一解决方案是使用所需数据类型制作数据表的另一个副本,然后再将其连接到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()函数中更改数据类型。