我希望有人可以帮助我,因为我无法在网络上找到解决方案。
我正在处理一个表格,该表格中的tablegrid会自动使用来自访问数据库的数据来填充datagridview。在数据库中,我有一列包含小十进制数字的双打。除了这一格外,datagridview正确填充,不显示小数。例如根据我格式化列的方式,“ 0,00400364688627264”仅显示“ 0”或“ 0.000000”。即使是科学格式,在dgv中也只能显示“ 0.000000E + 000”。我怀疑它与访问中的分隔符“,”有关,并且在调用填充之前尝试设置区域位置:
System.Globalization.CultureInfo.DefaultThreadCurrentCulture = New Globalization.CultureInfo("da-DK")
但是那也不起作用。认为这将是一个相当简单的问题,但无法弄清楚为什么它不起作用。
好吧,我找不到解决方案。我想这与tableadapter填充方法和本地设置有关。无论如何,我进行了变通,而是从adodb记录集中填充了datagridview。我可能会听到一些有关此解决方案的抱怨,但它有效:-)感谢Jimi和Fabio抽出宝贵的时间。
Dim StamRS As New ADODB.Recordset
Dim dt As New DataTable
Dim StamAD As New OleDb.OleDbDataAdapter
Try
Connection.connect()
StamRS.Open(sqlstr, conn, 1, 3)
If StamRS.RecordCount > 0 Then
StamAD.Fill(dt, StamRS)
Stamopl_DGV.DataSource = dt
End If
Catch ex As Exception
MsgBox("Fejl i åbning af Stamopløsnings databasen.")
Finally
StamRS.Close()
StamRS = Nothing
Connection.closeconn()
End Try