Копирование таблицы данных в другую таблицу данных при изменении формата столбца - PullRequest
0 голосов
/ 24 октября 2018

У меня есть 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

Заранее спасибо

...