DataGridView не показывает десятичные дроби - PullRequest
0 голосов
/ 24 апреля 2020

Я надеюсь, что кто-то может помочь мне, так как я не могу найти решение для него на net.

Я работаю над формой, в которой сетевое представление данных заполняется автоматически с помощью адаптера таблицы с данными из доступ к базе данных. В базе данных у меня есть столбец с двойными числами, содержащие небольшие десятичные числа. Представление таблицы данных заполнено правильно, за исключением этого, которое не отображает десятичные дроби. Например, «0,00400364688627264» показывает только «0» или «0,000000» в зависимости от того, как я отформатирую столбец. Даже научное форматирование c показывает только «0,000000E + 000» в dgv. Я подозреваю, что это как-то связано с разделителем «,» в доступе, и я пытался установить региональное местоположение перед вызовом заливки:

 System.Globalization.CultureInfo.DefaultThreadCurrentCulture = New Globalization.CultureInfo("da-DK")

Но это тоже не работает. Думаю, это будет довольно простой проблемой, но не могу понять, почему она не работает.

1 Ответ

0 голосов
/ 29 апреля 2020

Хорошо, я не смог найти решение. Я думаю, это как-то связано с методом заполнения tableadapter и локальными настройками. Во всяком случае, я сделал обходной путь и вместо этого заполнил сетку данных из набора записей adodb. Я, вероятно, услышу некоторые жалобы на это решение, но оно работает :-) Спасибо, Джими и Фабио, что уделили нам время.

 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
...