为了账号安全,请及时绑定邮箱和手机立即绑定

datatable1的一列如何赋给另一个datatable2?

/ 猿问

datatable1的一列如何赋给另一个datatable2?

斯蒂芬大帝 2019-01-27 10:06:21

datatable1的一列如何赋给另一个datatable2


查看完整描述

4 回答

?
桃花长相依

不过我一般就是这么编程的:有了个想法后,点击相关对象,然后根据VS的智能提示功能,挨个去看对象的方法。方法名一般明确的指示了方法的用处。然后,尝试....下面的方法是DataColumn对象的Add方法之一,它有5个重载函数。(直接拷贝的VS里帮助文档)
我的初步思路是这样的:假如你操作的是第二列
datatable2.Columns.Add(datatable1.Columns[1]);

但是,可能遇到的问题是:两个DataTable的架构或行数不一样是否会导致问题——革命尚未成功,同志仍需努力。

public void Add(DataColumn column);

注释在这里:
// 摘要:
// 创建指定的 System.Data.DataColumn 对象并将其添加到 System.Data.DataColumnCollection。
//
// 参数:
// column:
// 要添加的 System.Data.DataColumn。
//
// 异常:
// System.ArgumentException:
// 该列已经属于此集合,或者属于另一个集合。
//
// System.Data.InvalidExpressionException:
// 该表达式无效。有关如何创建表达式的更多信息,请参见 System.Data.DataColumn.Expression 属性。
//
// System.ArgumentNullException:
// column 参数为 null。
//
// System.Data.DuplicateNameException:



查看完整回答
反对 回复 2019-03-15
?
慕前端131612

System.Data.DataTable dt1 = new System.Data.DataTable ();;// 已经包含数据的DataTable1.
System.Data.DataTable dt2 = new System.Data.DataTable ( );//要拷贝某列到这个DataTable2.
dt2.Columns.Add ( "Name", typeof ( string ) );

System.Data.DataRow dr2 = null;
foreach ( System.Data.DataRow dr1 in dt1.Rows )
{
dr2 = dt2.NewRow ( );
dr2 [ 0 ] = dr1 [ "Name" ];

dt2.Rows.Add ( dr2 );
}

return dt2;



查看完整回答
反对 回复 2019-03-15
?
梵蒂冈之花

参考代码如下:
DataTable table
//假设dt0,dt1,dt2都是String类型
var v = from t in table.AsEnumerable() select new {dt0=t.Field<String>(0),dt1=t.Field<String>(1),dt2=t.Field<String>(2)};
DataTable newT = v.CopyToDataTable();

查看完整回答
反对 回复 2019-03-15
?
拉莫斯之舞

这位兄台要在datagridview中显示datatable一列的话,用绑定就可以了啊
dataGridView1.DataSource = dt;
dataGridView1.DataMember = "字段名";

查看完整回答
反对 回复 2019-03-15

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信