首页 新闻 会员 周边

DataTable 指定位置添加列

3
[已解决问题] 解决于 2010-09-30 14:44

怎么在 DataTable 指定位置添加列

 DataTable dt = Countds.Tables[0];
 dt.Columns.Add(new DataColumn("name", Type.GetType("System.String")));

dt里有数据,现在想把name列插入到指定的位置怎么做?没insert方法。。

 

xmao-xmao的主页 xmao-xmao | 初学一级 | 园豆:69
提问于:2010-09-29 17:19
< >
分享
最佳答案
-1

这个比较麻烦, 不过可以做到,

先把 dt 的所有列都拷贝的一个数组里面,再添加一个新列到数组里就可以:


 DataColumn[] arr = new DataColumn[dt.Columns.Count + 1];

 dt.Columns.CopyTo(arr, 0);

 arr[n] = new DataColumn("name", Type.GetType("System.String"));

再创建个新表 dtNew 把 arr 数组的列加到 dtNew 表里,再把 dt 表的数据全部赋值到 dtNew 表里。

HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-09-30 10:06
可以这样写,确实很麻烦
xmao-xmao | 园豆:69 (初学一级) | 2010-09-30 10:31
@︵尐_ヅ杰ˇ:字段多,很悲剧
xmao-xmao | 园豆:69 (初学一级) | 2010-09-30 10:32
嗯, 你最好是在 SQL 语句里面加个 站位列:如: select ID,'' as Name from t_demo
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-09-30 11:48
其他回答(3)
0

它有数据和你增加列没有关系吧?如果你想插入,其它的列后移,那就叫修改列了。增加一个列就可以了,如果考虑插入只是为了显示顺序,那这就不必担心了,显示大都是绑定列的吧。

Astar | 园豆:40805 (高人七级) | 2010-09-29 20:20
就是为了显示顺序,要把新列插入到dt的第二列里 显示的时候不是绑定列显示
支持(0) 反对(0) xmao-xmao | 园豆:69 (初学一级) | 2010-09-30 08:40
@︵尐_ヅ杰ˇ:不管你是用.net自带的数据控件,还是自己遍历显示。前者需要绑定列,后者可以dt.rows[n]["colName"]。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-09-30 09:18
0

DataTable  里面数据你手写显示呀, 这样和它的位置有什么关系?

xiaos | 园豆:434 (菜鸟二级) | 2010-09-30 10:24
不是直接显示,还要被人调用,显示不是我能控制的,要排好位置给他
支持(0) 反对(0) xmao-xmao | 园豆:69 (初学一级) | 2010-09-30 10:27
5

dt.Columns.Add("id").SetOrdinal(0);SetOrdinal 指定位置

晓风拂月 | 园豆:228 (菜鸟二级) | 2013-04-23 17:17

还是这个方法好!

支持(3) 反对(0) 傲雪江南 | 园豆:174 (初学一级) | 2016-02-20 09:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册