System.Data.DataTable.CopyRow C# (CSharp) Method

CopyRow() private method

private CopyRow ( DataTable table, DataRow row ) : void
table DataTable
row DataRow
return void
        internal void CopyRow(DataTable table, DataRow row)
        {
            int oldRecord = -1, newRecord = -1;

            if (row == null)
            {
                return;
            }

            if (row._oldRecord != -1)
            {
                oldRecord = table._recordManager.ImportRecord(row.Table, row._oldRecord);
            }
            if (row._newRecord != -1)
            {
                if (row._newRecord != row._oldRecord)
                {
                    newRecord = table._recordManager.ImportRecord(row.Table, row._newRecord);
                }
                else
                {
                    newRecord = oldRecord;
                }
            }

            DataRow targetRow = table.AddRecords(oldRecord, newRecord);

            if (row.HasErrors)
            {
                targetRow.RowError = row.RowError;

                DataColumn[] cols = row.GetColumnsInError();

                for (int i = 0; i < cols.Length; i++)
                {
                    DataColumn col = targetRow.Table.Columns[cols[i].ColumnName];
                    targetRow.SetColumnError(col, row.GetColumnError(cols[i]));
                }
            }
        }
DataTable