C# DataTable列问题
现在我第一个DataTable里面有A、B、C三个列,我想把其中的A、C两个列添加到第二个DataTable里面!DataTabledt=newDataTable();D...
现在我第一个DataTable里面有A、B、C三个列,我想把其中的A、C两个列添加到第二个DataTable里面!
DataTable dt = new DataTable();
DataTable exceldt = (DataTable)dgvExcel.DataSource;
DataColumn column = (DataColumn)exceldt.Columns[item - 1];
dt.Columns.Add(column);
这个样子报错的,报column是属于其他表的 展开
DataTable dt = new DataTable();
DataTable exceldt = (DataTable)dgvExcel.DataSource;
DataColumn column = (DataColumn)exceldt.Columns[item - 1];
dt.Columns.Add(column);
这个样子报错的,报column是属于其他表的 展开
3个回答
展开全部
DataTable,DataRow,DataColumn这三个对象是有从属关系的,DataTable中只能添加DataRow,
DataRow中也只能添加DataColumn,所以你的代码应该这样写:
DataTable dt = new DataTable();
DataTable exceldt = (DataTable)dgvExcel.DataSource;
DataRow dr = dt.NewRow();
dr.Columns.Add((DataColumn)exceldt.Columns[item - 1]);
dt.Rows.Add(dr);
你可以试试这样写,调试一下看有没有问题...
追问
Data里面不包含Columns属性!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataTable dt =exceldt.DefaultView.ToTable(false, new string[] {"列名","列名"})
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试这样
DataTable dt=exceldt.Clone();//复制构架
dt.columns.removeat(2);//移除不需要的列
DataTable dt=exceldt.Clone();//复制构架
dt.columns.removeat(2);//移除不需要的列
追问
但是现在我的列是不确定的,意思就是我只知道我需要哪些列,不需要的列的序号我并不知道!
追答
那你的item - 1是什么意思?还不是个下标,既然你有需要的下标集合,就可以算出不需要的下标集合。另外
DataTable dt = new DataTable();
dt.Columns.Add("col1");
dt.Columns.Add("col2");
DataColumn dc = dt.Columns[0];
DataTable dt1 = new DataTable();
//dt1.Columns.Add(dc);用下面的代替
dt1.Columns.Add(dc.ColumnName,dc.DataType);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询