https://blog.csdn.net/fuyifang/article/details/40355025
/// <summary> /// 復制數據,深度復制 /// </summary> /// <param name="dataSourceRow">數據源,待復制的數據</param> /// <param name="dataStruct">數據結構/表結構</param> /// <returns>處理后的DataTable</returns> public DataTable CopyData(DataTable dataStruct) { DataTable dataTable = new DataTable(); //定義表結構 DataColumn col; foreach (DataColumn column in dataStruct.Columns) { col = new DataColumn(); col.ColumnName = column.ColumnName; col.DataType = column.DataType; dataTable.Columns.Add(col); } foreach (DataRow row in dataStruct.Rows) { DataRow tempRow = dataTable.NewRow(); foreach (DataColumn column in dataStruct.Columns) { try { tempRow[column.ColumnName] = row[column.ColumnName]; } catch { continue; } } dataTable.Rows.Add(tempRow); } return dataTable; }