[英]Merge columns of Data Tables
请这样做:
static DataTable GetTable()
{
// Here we create a DataTable with four columns.
DataTable table = new DataTable();
table.Columns.Add("Item1", typeof(string));
table.Columns.Add("Item2", typeof(string));
table.Columns.Add("Item3", typeof(string));
table.Columns.Add("Item4", typeof(string));
// Here we add five DataRows.
table.Rows.Add("a", "as", "asd", "");
table.Rows.Add("b", "asd", "asd", "");
table.Rows.Add("c", "a", "asd", "");
table.Rows.Add("d", "a", "asd", "");
table.Rows.Add("", "", "", "a");
table.Rows.Add("", "", "", "d");
table.Rows.Add("", "", "", "asd");
return table;
}
DataTable dt = GetTable();
foreach (DataRow dr in dt.Rows)
{
if (!String.IsNullOrEmpty(dr["Item4"].ToString()) && String.IsNullOrEmpty(dr["Item1"].ToString()))
{
dr["Item1"] = dr["Item4"].ToString(); //assign value of column 4 to column1
}
}
dt.Columns.Remove("Item4"); //delete column 4
public DataTable CombileDataTable(DataTable dt1, DataTable dt2)
{
DataTable dtNew = new DataTable();
foreach (DataColumn col in dt1.Columns)
{
dtNew.Columns.Add(col.ColumnName);
}
foreach (DataColumn col in dt2.Columns)
{
dtNew.Columns.Add(col.ColumnName);
}
for(int i=0; i<dt1.Rows.Count; i++)
{
DataRow item = dtNew.NewRow();
foreach (DataColumn col in dt1.Columns)
{
item[col.ColumnName] = dt1.Rows[i][col.ColumnName];
}
foreach (DataColumn col in dt2.Columns)
{
item[col.ColumnName] = dt2.Rows[i][col.ColumnName];
}
dtNew.Rows.Add(item);
dtNew.AcceptChanges();
}
return dtNew;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.