在更改列格式的同时将一个数据表复制到另一个数据表

时间:2018-10-24 14:11:06

标签: vb.net blueprism

我有一个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

预先感谢

0 个答案:

没有答案