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是属于其他表的
展开
 我来答
super_syc
2013-10-22 · TA获得超过105个赞
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:146万
展开全部
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属性!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草帽o海贼o王
2013-10-23 · TA获得超过316个赞
知道答主
回答量:116
采纳率:0%
帮助的人:70.3万
展开全部
DataTable dt =exceldt.DefaultView.ToTable(false, new string[] {"列名","列名"})
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2013-10-22 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7951万
展开全部
试试这样
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);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式