如何对同一个DATATABLE进行多次筛选

gdutmo 2004-08-16 01:12:47
如何对同一个DATATABLE进行多次筛选,请各位指点,在线等,急啊。在3点前结贴
...全文
142 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
triout 2004-08-16
  • 打赏
  • 举报
回复
不知道你说的筛选是否是过滤那些满足条件的数据。

如果是,你可以使用多个DATAVIEW来实现。

比如:

Dim dataview1 as new DataView(DataTable1)
Dim dataview2 as new DataView
dataview2.DataTable=DataTable1
'上面两个生成DATAVIEW的方式是等效的
'然后
dataview1.RowFilter=...
dataview2.RowFilter=...
筛选控件Demo源码 功能介绍: demo主要实现了两个功能。 高级查找(FrmSift) 列表筛选(UCFilter) 高级查找针对于查找选项过多的情况下使用,做为一个通用的查找功能出现在软件项目中。 高级查找使用时基本只需传入当前的DataGridView实例,生成需要的Where条件。 在demo中,高级查找实现了基本的通用功能,可以在多个数据列表中使用。 对于数字类型和日期类型,给予两个条件共同完成——从XXX至XXX,所以在处理上也费 了点功夫。比如说删除其中一个,另一个也要删除等情况。 高级查找现在只做了AND条件,没有强大的组合方式。 值得一提的是在处理日期类型时不能得到多数据库的支持,这里由于只是模拟数据,使用DataTable的Select去模拟查找功能,日期类型没问题。但是如果是MSSQL可能会出错,如果更甚者在数据库中使用varchar保存日期类型,这里处理就更加麻烦。(比如本人在项目中就对Oracle的此类现象进行了处理) 这里对于时间段做了一些功夫,其实都是有一次项目中需要,这里也就没删,保留了下来,希望对大家有用。 列表选择实现的最大一个功能就是可以筛选。 对于筛选后的列表,不会改变已经选择的状态。其实很简单,不止保存数据源,还保存了 对于每个数据的选择状态。在列表查找中,对于上方全选的处理实在让我费了不少功夫。 主要是很多方面都要我去判断全选状态。ListCheckBox的ItemCheck事件和全选的CheckStateChanged事件 几乎让我弄的惨不忍睹,加了减了,减了加了,如下类似的代码我调用了不知道多少次。 注意: 开发环境为Visual Studio 2005

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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