兄弟我比较懒,没调试。不过我一般就是这么编程的:有了个想法后,点击相关对象,然后根据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:
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;
如果提示旁饥说运则返ROW已经属于另外一个table,可以用下面的方法盯侍解决:
Datatable2.importRow( Row ) ;
参考裂悄锋代码如下:
DataTable table
//运脊假肆晌设dt0,dt1,dt2都是String类型
var v = from t in table.AsEnumerable() select new {dt0=t.Field
DataTable newT = v.CopyToDataTable();
这位兄台要在datagridview中显示datatable一激慎列的明野敬话,用绑定就可以了啊
dataGridView1.DataSource = dt;
dataGridView1.DataMember = "字段名脊槐";