Может быть, это поздний ответ, но я все равно поделюсь им
а затем искать решение этой проблемы, с которой я тоже сталкиваюсь.
Единственное решение, которое я нашел, - это сделать еще одну копию таблицы данных с требуемыми типами данных, прежде чем подключать ее к 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 () для любого столбца, который вы выберете во время зацикливания кода.