DataSet.Tables[].Select()可以过滤列吗?

yumanqing 2007-03-19 09:45:08
DataSet.Tables[].Select()可以过滤列吗?
...全文
883 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN_0 2007-04-04
  • 打赏
  • 举报
回复
实在不行,
那只能用笨方法了。
yudi010 2007-04-04
  • 打赏
  • 举报
回复
同样的问题我也在关注
也在寻找方法
搂住知道一定把答案说出来
yumanqing 2007-03-20
  • 打赏
  • 举报
回复
谢谢大家,看来要实现“我想只获取tables中的某一列的值,并消除重复的行,然后加入到ArrayList中”这样的功能,再dataset中是很困难的,只有变换思路了
yumanqing 2007-03-19
  • 打赏
  • 举报
回复
我想只获取tables中的某一列的值,并消除重复的行,然后加入到ArrayList中,请问这样这样可以做到,再加分50
yumanqing 2007-03-19
  • 打赏
  • 举报
回复
谢谢,试验一下,只有这种方法吗?
北京的雾霾天 2007-03-19
  • 打赏
  • 举报
回复
如果要对DataSet里的数据进行过滤,那么要通过DataSet里的的DataTable的DefaultView来过滤,
也就是说要对一个表进行数据过虑,不是用Select来实现,而是通过对应的DataView来过滤,
可如用DataView.RowFilter来过虑。如:

下面的示例创建 DataView 并设置它的 RowFilter 属性。
private void MakeDataView()
{
DataView view = new DataView();

view.Table = DataSet1.Tables["Suppliers"];
view.AllowDelete = true;
view.AllowEdit = true;
view.AllowNew = true;
view.RowFilter = "City = 'Berlin'";
view.RowStateFilter = DataViewRowState.ModifiedCurrent;
view.Sort = "CompanyName DESC";

// Simple-bind to a TextBox control
Text1.DataBindings.Add("Text", view, "CompanyName");
}

iwteih 2007-03-19
  • 打赏
  • 举报
回复
DataTable.Select不能过滤列,似乎微软提供的方法里也没过滤列的。表结构在生成DataTable里已经有了,如果想把列删除,涉及的比较复杂,也许还有约束关系。
可以在遍历原DataTable时生成一个新DataTable用DataRow.Add(object [])把数据加入到新的DataTable里,DataRow是新DataTable的,object []是原DataTable某行的。
要判断是不是重复行似乎没好方法,DataTable不能根据每行存放的数据判断是不是有重复行,对DataTable来说,就是个表存放数据
yudi010 2007-03-19
  • 打赏
  • 举报
回复
楼上的我想问一下
用dataview是不是只是用了一个标
如果是两个表呢
北京的雾霾天 2007-03-19
  • 打赏
  • 举报
回复
我想只获取tables中的某一列的值,并消除重复的行,然后加入到ArrayList中
-----------------------
这样的话,最好你写一个循环向ArrayList中添加,
在一个DataTable中进行循环是一个常见的操作。且没有什么更好的办法。
yumanqing 2007-03-19
  • 打赏
  • 举报
回复
UP

110,533

社区成员

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

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

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