У меня есть DataTable
, который я хочу скопировать в другой DataTable
.. но выгода, если я хочу изменить один из столбцов на формат Short Date
(который имеет тип String
в оригиналеDatatable
).Я могу добавить столбцы из исходного Datatable
в новый, но когда я пытаюсь установить формат столбца в тип Date
, он устанавливает его в формат Datetime
.Это вызывает проблему при копировании данных из оригинала Datatable
, поскольку даты в новой таблице установлены неправильно (т. Е. 10/03/2018 00: 00: 00 изменяется на 10 /01/2018 00: 03: 00 ).
Есть идеи, как решить эту проблему?Или, может быть, есть лучший способ сделать это?
Dim sColumn As String
Dim dRow As DataRow
For Each dC as DataColumn In dT.Columns
dTRet.Columns.Add (dC.ColumnName)
Next
dTRet.Columns(ColName).DataType = GetType(Date)
For Each row As DataRow in dT.Rows
dRow = dTRet.NewRow
For iC As Integer = 0 To dT.Columns.Count - 1
sColumn = dT.Columns(iC).ColumnName
If sColumn = ColName Then
dRow(sColumn) = Date.ParseExact(row.Item(sColumn), DateFormat,
System.Globalization.DateTimeFormatInfo.InvariantInfo,
Globalization.DateTimeStyles.None)
Else
dRow(sColumn) = row.Item(sColumn)
End If
Next iC
dTRet.Rows.Add (dRow)
Next Row
ColName
: содержит имя столбца для изменения
dT
: это оригинал Datatable
dTRet
: это новый Datatable
Заранее спасибо