标签:des style io os 使用 ar for 数据 div
===前提:我们已经有一个DataTable的数据表 现在需要的只是其中的一行数据===
比如说下面这段代码在一个方法里 返回的就是一个DataTable!
假如返回的DataTable就是 dt ,
方法一:直接复制一个DataTable,然后清空数据(Column结构还保留),最后再用ImportRow()方法从dt中加入需要的Row;
方法二:
首先新的DataTable必须加入对应的列名(Column)
一个空的没有结构的DataTable是不允许直接向里面加入一行的!
然后就可以直接加入Row了!
最后可以将新的DataTable放入DataSet中了:
ds = new DataSet();
ds.Tables.Add(dt2);
DataView view = table.DefaultView;
DataTable tagetTable= view.ToTable(true, "column1", "column2", ...);
源程序来自网络上的资源,我记录下来用于以后忘记之用。对大家也许有用
//表dataTableSource获取数据 string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info = False;" + "Data Source = D:\\vb60\\mdb\\NorthWind.mdb"; OleDbConnection Conn = new OleDbConnection(ConnectionString); Conn.Open(); OleDbDataAdapter Ada = new OleDbDataAdapter("Select * From Orders",Conn); DataTable dataTableSource = new DataTable(); Ada.Fill(dataTableSource); dataGrid1.DataSource = dataTableSource; //创建新表dataTableDest DataTable dataTableDest = new DataTable(); //将表dataTableSource的结构复制到新表dataTableDest中 dataTableDest = dataTableSource.Clone(); //然后再复制数据到新表中 foreach(DataRow dr in dataTableSource.Rows) { //使用ImportRow()方法复制数据。若用dataTableDest.Rows.Add(dr)将会出错:System.ArgumentException: 该行已经属于另一个表。 dataTableDest.ImportRow(dr); } dataGrid2.DataSource = dataTableDest; Conn.Close(); |
将DataTable中的某一行复制到另一个新的DataTable(转)
标签:des style io os 使用 ar for 数据 div
原文地址:http://www.cnblogs.com/lschenblog/p/3979940.html