datatable中添加一列

平生我自如 2010-05-12 09:05:35
我的datatable是从数据库中查询的数据!现在我想在datatable中添加一列(复选框列),这一列要放在datatable的两列之间,不放在最后一列也不放在第一列,请大家指点一二该如何写代码,谢谢
...全文
1119 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
平生我自如 2010-05-12
  • 打赏
  • 举报
回复
我是添加了一个复选框列!所以在sql里的话还不知道怎么加!所以采用在外面添加列!
dt.Rows.InsertAt(dr,1);
这一据市添加行吧!呵呵
平生我自如 2010-05-12
  • 打赏
  • 举报
回复
不好意思哈!结帖的时候没有看到两位的回帖!采用这位朋友的方法!可以将我添加的列移动带指定列!谢谢大家的帮助[Quote=引用 14 楼 fengqiao1999 的回复:]
dt.Columns[1].SetOrdinal(0); //将第1列改成第0列
[/Quote]
捷哥1999 2010-05-12
  • 打赏
  • 举报
回复
DataColumn..::.SetOrdinal 方法
将 DataColumn 的序号或位置更改为指定的序号或位置。
将 DataColumn 的序号或位置更改为指定的序号或位置。如果序号小于 0 或大于现有的列数 1(大于最后一列的序号),则将引发表示无效的 ArgumentException。


还有这个方法,真不错!
清风六月 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zzx509 的回复:]
那你就自己定义dt的结构

C# code

SqlDataAdapter sda = new SqlDataAdapter("select * from demo", con);
DataTable dt = new DataTable();
dt.Columns.Add("id",typeof(int));
dt.Columns.Add("ac……
[/Quote]

这个就没错了。
阿双2009 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zqd5920 的回复:]
呵呵 我是要出入列呢!谢谢
[/Quote]

dt.Rows.InsertAt(dr,1);

这个本就是往DataTable插入一条新的记录,并且该新记录处于第二的位置。
捷哥1999 2010-05-12
  • 打赏
  • 举报
回复
为DataTable添加列的方法是使用:
DataTable.Columns.Add();

这个方法只有这几种重载:
Add()创建 DataColumn 对象并将其添加到 DataColumnCollection 中。
Add(DataColumn) 创建指定的 DataColumn 对象并将其添加到 DataColumnCollection。
Add(String) 创建一个具有指定名称的 DataColumn 对象,并将其添加到 DataColumnCollection 中。
Add(String, Type) 创建一个具有指定名称和类型的 DataColumn 对象,并将其添加到 DataColumnCollection 中。
Add(String, Type, String) 创建一个具有指定名称、类型和表达式的 DataColumn 对象,并将其添加到 DataColumnCollection 中。

无法指定插入的位置。

所以你可能需要自定一个表结构。

dingqing86 2010-05-12
  • 打赏
  • 举报
回复
支持马老虎!
平生我自如 2010-05-12
  • 打赏
  • 举报
回复
你的回答真是太棒了!非常感谢你!我会为你加分的[Quote=引用 14 楼 fengqiao1999 的回复:]
dt.Columns[1].SetOrdinal(0); //将第1列改成第0列
[/Quote]
fengqiao1999 2010-05-12
  • 打赏
  • 举报
回复
dt.Columns[1].SetOrdinal(0); //将第1列改成第0列
zzx509 2010-05-12
  • 打赏
  • 举报
回复
那你就自己定义dt的结构

SqlDataAdapter sda = new SqlDataAdapter("select * from demo", con);
DataTable dt = new DataTable();
dt.Columns.Add("id",typeof(int));
dt.Columns.Add("account");
dt.Columns.Add("password");
dt.Columns.Add("check",typeof(bool));//新增加的选择列
dt.Columns.Add("comuid");
sda.Fill(dt);
平生我自如 2010-05-12
  • 打赏
  • 举报
回复
呵呵 我是要出入列呢!谢谢[Quote=引用 10 楼 luols 的回复:]
引用 7 楼 zqd5920 的回复:
我知道的添加了 要么就添加在第一列,要么就添加在了最后一列阿


//添加在第二行的位置
dt.Rows.InsertAt(dr,1);
[/Quote]
mayonglong 2010-05-12
  • 打赏
  • 举报
回复
直接在取数据库的Sql中加一列啊,‘’ as 你要加的列名,放在你要求的两列之间,不就可以了??
阿双2009 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zqd5920 的回复:]
我知道的添加了 要么就添加在第一列,要么就添加在了最后一列阿
[/Quote]

//添加在第二行的位置
dt.Rows.InsertAt(dr,1);
平生我自如 2010-05-12
  • 打赏
  • 举报
回复
麻烦说详细一点!如何创建!如果方便的话给点代码呢
jeven_xiao 2010-05-12
  • 打赏
  • 举报
回复
在你新的数据源中定义一个模板列就OK了呀
平生我自如 2010-05-12
  • 打赏
  • 举报
回复
我知道的添加了 要么就添加在第一列,要么就添加在了最后一列阿
平生我自如 2010-05-12
  • 打赏
  • 举报
回复
我试一下!谢谢[Quote=引用 1 楼 mervyn807 的回复:]
DataTable不是有个添加列的属性吗
添加到指定位置看下MSDN
[/Quote]
平生我自如 2010-05-12
  • 打赏
  • 举报
回复
这样子有点麻烦哦!呵呵[Quote=引用 4 楼 mmm306306 的回复:]
引用楼主 zqd5920 的回复:
我的datatable是从数据库中查询的数据!现在我想在datatable中添加一列(复选框列),这一列要放在datatable的两列之间,不放在最后一列也不放在第一列,请大家指点一二该如何写代码,谢谢

重新创建个datatable 定义结构,再将数据导过去。
不知道微软是否封装了更好的方法没
[/Quote]
马老虎 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 zqd5920 的回复:]
我的datatable是从数据库中查询的数据!现在我想在datatable中添加一列(复选框列),这一列要放在datatable的两列之间,不放在最后一列也不放在第一列,请大家指点一二该如何写代码,谢谢
[/Quote]
重新创建个datatable 定义结构,再将数据导过去。
不知道微软是否封装了更好的方法没
马老虎 2010-05-12
  • 打赏
  • 举报
回复
http://blog.renren.com/blog/bp/QggryZC6nC

//新建表
DataTable dt=new DataTable();


//定义表结构
dt.Columns.Add("Id",typeof(System.Int32));
dt.Columns.Add("Code",typeof(System.String));
dt.Columns.Add("Name",typeof(System.String));

//添加新行
for(int i=0;i<=3;i++)
{
DataRow dr=dt.NewRow();
dr[0]=i;
dr[1]="s"+i;
dr[2]="sic"+i;
dt.Rows.Add(dr);
}



加载更多回复(2)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧