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的资料请关注毛票票其它相关文章!