c# 怎么通过表头字段获得整个datatable的一列的数据
展开全部
System.Collections.Generic.List<String> list=new System.Collections.Generic.List<String>();
foreach(DataRow dr in dt.Rows)//dt代表你的那个表
{
list.add(dr.IsNull["姓名"]?"":dr["姓名"].ToString());//这样datatable中姓名这列的所有数据都存在list中。
}
不会就不要评论,别误人子弟,当然也不只我上面这种方法。
要点一:从dr[""]拿出来的东东,它的类型是object,如果为空,则类型是DBNull与C#中Null不同。
要点二:只有继承IEnumerable这个接口的对象才可以使用foreach语句。
要点三:list使用的是泛型。
foreach(DataRow dr in dt.Rows)//dt代表你的那个表
{
list.add(dr.IsNull["姓名"]?"":dr["姓名"].ToString());//这样datatable中姓名这列的所有数据都存在list中。
}
不会就不要评论,别误人子弟,当然也不只我上面这种方法。
要点一:从dr[""]拿出来的东东,它的类型是object,如果为空,则类型是DBNull与C#中Null不同。
要点二:只有继承IEnumerable这个接口的对象才可以使用foreach语句。
要点三:list使用的是泛型。
展开全部
1L思路 是正解
但显然程序有问题 foreach 中的 datarow 对象 item 根本没有用到。。。
接着1L的写的话 括号里面应该是 item[o] (或者item.rows[0] 即取每行的第一列值 语法不记得了 )
另外也有其他的思路。 比如你这个表肯定是存在数据库当中的 为什么非要从listview中取值呢
也可直接写个sql 语句 从 数据库中调出来 select * 姓名 from。。。。 (不过这种方法显然效率比较低 因为他又重新和数据库交互了一次)
取值的方法也有很多中。。。我们刚才用的是每行的第一列 也可以直接用第一列 试试column对象 还可以不用foreach 循环 (效率低) 可以用for 总之方法非常多 主要是考察LZ的 基本功扎实不扎实了 因为基础打的牢的话 想实现什么功能 那是轻而易举的 并且有很多中方法一下子出现 让你选择
希望LZ 好好学习
但显然程序有问题 foreach 中的 datarow 对象 item 根本没有用到。。。
接着1L的写的话 括号里面应该是 item[o] (或者item.rows[0] 即取每行的第一列值 语法不记得了 )
另外也有其他的思路。 比如你这个表肯定是存在数据库当中的 为什么非要从listview中取值呢
也可直接写个sql 语句 从 数据库中调出来 select * 姓名 from。。。。 (不过这种方法显然效率比较低 因为他又重新和数据库交互了一次)
取值的方法也有很多中。。。我们刚才用的是每行的第一列 也可以直接用第一列 试试column对象 还可以不用foreach 循环 (效率低) 可以用for 总之方法非常多 主要是考察LZ的 基本功扎实不扎实了 因为基础打的牢的话 想实现什么功能 那是轻而易举的 并且有很多中方法一下子出现 让你选择
希望LZ 好好学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foreach(datarows item in datatable)
{
dataset_stu.tables["学生表"].rows[0].["学生"]; //这样循环读取一行的每一个列的值
}
上面循环去读取可以把一列的每个值读取出来,我就是这样实现的。
{
dataset_stu.tables["学生表"].rows[0].["学生"]; //这样循环读取一行的每一个列的值
}
上面循环去读取可以把一列的每个值读取出来,我就是这样实现的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用SQL取列最简单了,
dt1有a,b,cd四列,你只查其中你要的那几列
insert into dt2(a, b, c) select a, b, c from dt1
ps:
C#后台只有直接的行筛选,没有列筛选,
如果实在需要的话,如上面同志那样循环。。
还有1种办法。。先复制,然后移除不需要的列。。
DataTable dt2=dt.Copy();
dt2.Columns.Remove("name1");
dt2.Columns.Remove("name2");
dt1有a,b,cd四列,你只查其中你要的那几列
insert into dt2(a, b, c) select a, b, c from dt1
ps:
C#后台只有直接的行筛选,没有列筛选,
如果实在需要的话,如上面同志那样循环。。
还有1种办法。。先复制,然后移除不需要的列。。
DataTable dt2=dt.Copy();
dt2.Columns.Remove("name1");
dt2.Columns.Remove("name2");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-01-16
展开全部
用repeater或gridview,编辑列时只编辑一列就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询