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

2024-11-10 08:09:46
推荐回答(5个)
回答1:

兄弟我比较懒,没调试。不过我一般就是这么编程的:有了个想法后,点击相关对象,然后根据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:

回答2:

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;

回答3:

如果提示旁饥说运则返ROW已经属于另外一个table,可以用下面的方法盯侍解决:
Datatable2.importRow( Row ) ;

回答4:

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

回答5:

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