{在线等}一个已经查出的DataTable怎么填充一个新的DataTable?

消失的尘芥 2010-11-18 11:10:09
在后台已经查出了一个DataTable,我想用在这个DataTable在填充一个新的DataTable
//取出的数据
DataTable db1 = gettable();
新的DataTable

DataTable db2 = new Datatable();

DataRow dr;

用db1给dr赋值
然后再把dr绑定到db2

或者有更好的方法也可以推荐
...全文
199 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
koumingjie 2010-11-18
  • 打赏
  • 举报
回复
for (int i = 0; i < dt1.Rows.Count; i++)
{
DataRow tempRow=dt2.NewRow();
tempRow.ItemArray = dt1.Rows[i].ItemArray;
dt2.Rows.Add(tempRow);
}
yzf86211861 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 lifetimeus 的回复:]
非常感谢问题已经解决用的12楼的方法

C# code
db2.Columns.Add("ItemID", typeof(int));
db2.Columns.Add("Title", typeof(string));
db2.Columns.Add("Begin", typeof(DateTime));
……
[/Quote]
不好意思 我这个写法太麻烦了 参照了下14楼的写法 修改如下
DataTable db1=gettable();
DataTable db2 = db1.Clone();
for (int i = 0; i < 4; i++)
{
DataRow dr = db1.Rows[i];
db2.ImportRow(dr);
}
学习了。
fellowcheng 2010-11-18
  • 打赏
  • 举报
回复
何必那么麻烦
db2 = db1.Clone();
db2.ImportRow(r);
机器人 2010-11-18
  • 打赏
  • 举报
回复
用dt.Clone把结构拷贝过去,也用不着自己重新把Column.Add一遍了。
消失的尘芥 2010-11-18
  • 打赏
  • 举报
回复
非常感谢问题已经解决用的12楼的方法
 db2.Columns.Add("ItemID", typeof(int));
db2.Columns.Add("Title", typeof(string));
db2.Columns.Add("Begin", typeof(DateTime));
db2.Columns.Add("Deadline", typeof(DateTime));
db2.Columns.Add("Originalprice", typeof(Decimal));
db2.Columns.Add("Currentprice", typeof(Decimal));
db2.Columns.Add("Supplier", typeof(string));
db2.Columns.Add("Address", typeof(string));
db2.Columns.Add("Detail", typeof(string));
for (int i = 0; i < 4; i++)
{
row = db2.NewRow();
row["ItemID"] = db.Rows[i]["ItemID"];
row["Title"] = db.Rows[i]["Title"];
row["Begin"] = db.Rows[i]["Begin"];
row["Deadline"] = db.Rows[i]["Deadline"];
row["Originalprice"] = db.Rows[i]["Originalprice"];
row["Currentprice"] = db.Rows[i]["Currentprice"];
row["Supplier"] = db.Rows[i]["Supplier"];
row["Address"] = db.Rows[i]["Address"];
row["Detail"] = db.Rows[i]["Detail"];
db2.Rows.Add(row);
}
yzf86211861 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 yzf86211861 的回复:]
引用 9 楼 lifetimeus 的回复:
引用 5 楼 net_lover 的回复:
DataTable.Merge 方法

将指定的 DataTable 与当前的 DataTable 合并。

大侠,是这样的,可能我刚才没有描述清楚,比如在db1这个表中有十条数据,然后我要在db2中
我只绑定四条数据。这个该怎么做?

参考下12楼 在 for 循环里面再加次循环。
[/Quote]
这四条是连着的吗?
yzf86211861 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lifetimeus 的回复:]
引用 5 楼 net_lover 的回复:
DataTable.Merge 方法

将指定的 DataTable 与当前的 DataTable 合并。

大侠,是这样的,可能我刚才没有描述清楚,比如在db1这个表中有十条数据,然后我要在db2中
我只绑定四条数据。这个该怎么做?
[/Quote]
参考下12楼 在 for 循环里面再加次循环。
sprc_lcl 2010-11-18
  • 打赏
  • 举报
回复
DataTable db1;
DataTable db2 = db1.Clone();

DataRow dr = db1.Rows[0];
db2.ImportRow(dr);
  • 打赏
  • 举报
回复
DataTable.Copy() 克龙过去.
yzf86211861 2010-11-18
  • 打赏
  • 举报
回复
DataTable db3=new gettable();
DataTable db2 = new Datatable(); //构造一个新table 和你查出来的表数据结构一致我拿2个字段为例
db2.Columns.add("ID", typeof(string));
db2.Columns.Add("Name", typeof(string));
for (int i = 0; i < db3.Rows.Count; i++)
{
DataRow row = db2.NewRow();
row["ID"] = db3.Rows[i]["ID"];
row["Name"] = db3.Rows[i]["Name"];
db2.Rows.Add(row);
}
maminglong 2010-11-18
  • 打赏
  • 举报
回复
你可以 循环逐行赋值 或者 直接 new 新的 拷贝过去
单线程加锁 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sandy945 的回复:]
DataTable.Copy()
[/Quote]
高手都已经回答过了。
消失的尘芥 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 net_lover 的回复:]
DataTable.Merge 方法

将指定的 DataTable 与当前的 DataTable 合并。
[/Quote]
大侠,是这样的,可能我刚才没有描述清楚,比如在db1这个表中有十条数据,然后我要在db2中
我只绑定四条数据。这个该怎么做?
cdd1012 2010-11-18
  • 打赏
  • 举报
回复
有用,顶
flyerwing 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 net_lover 的回复:]
DataTable.Merge 方法
将指定的 DataTable 与当前的 DataTable 合并。
[/Quote]
[Quote=引用 1 楼 fangxinggood 的回复:]
DataTable.WriteXml 再new一个DataTable.ReadXml 这样就出来一个新的一样的DataTable了。
[/Quote]
DataTable.Copy();
深层拷贝以下估计也成吧
机器人 2010-11-18
  • 打赏
  • 举报
回复
对了,直接用

DataTable db1 = gettable();
DataTable db2 = db1.Copy();


差点忘记了。。。
孟子E章 2010-11-18
  • 打赏
  • 举报
回复
DataTable.Merge 方法

将指定的 DataTable 与当前的 DataTable 合并。
kk706 2010-11-18
  • 打赏
  • 举报
回复
Copy 或是 Clone ,查一下吧
hua_lanyu 2010-11-18
  • 打赏
  • 举报
回复
DataTable db1 = gettable();
DataTable db2 = dt1;
阿非 2010-11-18
  • 打赏
  • 举报
回复
DataTable.Copy()
加载更多回复(1)

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧