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])); } } }
internal void CopyRow(DataTable table, DataRow row) { int oldRecord = -1; int newRecord = -1; if (row != null) { 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 row2 = table.AddRecords(oldRecord, newRecord); if (row.HasErrors) { row2.RowError = row.RowError; DataColumn[] columnsInError = row.GetColumnsInError(); for (int i = 0; i < columnsInError.Length; i++) { DataColumn column = row2.Table.Columns[columnsInError[i].ColumnName]; row2.SetColumnError(column, row.GetColumnError(columnsInError[i])); } } } }