C# 实现Table的Merge,Copy和Clone
C#实现的对两个Table进行Merge,两表必须存在至少一个公共栏位作为连接项,否则连接就失去了意义。如下是对两个table进行Merge的详细代码:
privatevoidbutton1_Click(objectsender,EventArgse)//Button点击触发事件
{
#regionTable的Merge
DataTabledt=newDataTable();
DataTabledt1=newDataTable();//创建Table1
dt1.Columns.Add("ID",typeof(string));
dt1.Columns.Add("NAME",typeof(string));
dt1.Columns.Add("AGE",typeof(int));
dt1.Columns.Add("SEX",typeof(string));
dt1.PrimaryKey=newDataColumn[]{dt1.Columns["ID"]};
for(inti=0;i<5;i++)
{
DataRowdr=dt1.NewRow();
dr["ID"]="00"+i.ToString();
dr["NAME"]="00-"+i.ToString();
dr["AGE"]=15+i;
dr["SEX"]="M";
dt1.Rows.Add(dr);
}
dt=dt1;
DataTabledt2=newDataTable();//创建Table2
dt2.Columns.Add("ID",typeof(string));
dt2.Columns.Add("NAME",typeof(string));
dt2.Columns.Add("Course",typeof(string));
dt2.Columns.Add("Score",typeof(int));
dt2.PrimaryKey=newDataColumn[]{dt2.Columns["ID"]};
for(inti=0;i<5;i++)
{
DataRowdr=dt2.NewRow();
dr["ID"]="00"+i.ToString();
dr["NAME"]="00-"+i.ToString();
dr["Course"]="C#";
dr["Score"]=i+80;
dt2.Rows.Add(dr);
}
dt=dt2;
dt1.Merge(dt2);
//Copy
vartable1=dt1.Copy();//Copy,复制表的结构以及数据
//添加新的一行
DataRowdr1=table1.NewRow();
dr1["ID"]="005";
dr1["NAME"]="00-5";
dr1["AGE"]=15;
dr1["SEX"]="F";
table1.Rows.InsertAt(dr1,2);//表的指定位置插入新增加的一行
table1.Columns.Add(newDataColumn(){ColumnName="Memo",DataType=typeof(string)});//默認插入到最後一列
table1.Columns["Memo"].SetOrdinal(0);//把插入的列移动到第一行
intmemoIndex=table1.Columns.IndexOf("Memo");//获取列的位置信息
varisContainName=table1.Columns.Contains("NAME");//判断table中是否存在某列
ListcolumnsNameList=newList();//遍历获取table的所有列名
foreach(DataColumncolintable1.Columns)
{
columnsNameList.Add(col.ColumnName);
}
table1.Columns.RemoveAt(memoIndex);//通过列名的索引进行移除
table1.Columns.RemoveAt(2);//通过列名的索引进行移除
table1.Columns.Remove("SEX");//通过列名进行移除,建议使后者
string[]name=newstring[table1.Rows.Count];//方法一:对表中的数据进行遍历输出
string[]id=newstring[table1.Rows.Count];
for(inti=0;i
以上就是C#实现Table的Merge,Copy和Clone的详细内容,更多关于c#tableMerge的资料请关注毛票票其它相关文章!