文件名称:筛选控件Demo源码20121206
文件大小:305KB
文件格式:ZIP
更新时间:2016-05-18 07:31:29
筛选 控件 Demo 源码
筛选控件Demo源码 功能介绍: demo主要实现了两个功能。 高级查找(FrmSift) 列表筛选(UCFilter) 高级查找针对于查找选项过多的情况下使用,做为一个通用的查找功能出现在软件项目中。 高级查找使用时基本只需传入当前的DataGridView实例,生成需要的Where条件。 在demo中,高级查找实现了基本的通用功能,可以在多个数据列表中使用。 对于数字类型和日期类型,给予两个条件共同完成——从XXX至XXX,所以在处理上也费 了点功夫。比如说删除其中一个,另一个也要删除等情况。 高级查找现在只做了AND条件,没有强大的组合方式。 值得一提的是在处理日期类型时不能得到多数据库的支持,这里由于只是模拟数据,使用DataTable的Select去模拟查找功能,日期类型没问题。但是如果是MSSQL可能会出错,如果更甚者在数据库中使用varchar保存日期类型,这里处理就更加麻烦。(比如本人在项目中就对Oracle的此类现象进行了处理) 这里对于时间段做了一些功夫,其实都是有一次项目中需要,这里也就没删,保留了下来,希望对大家有用。 列表选择实现的最大一个功能就是可以筛选。 对于筛选后的列表,不会改变已经选择的状态。其实很简单,不止保存数据源,还保存了 对于每个数据的选择状态。在列表查找中,对于上方全选的处理实在让我费了不少功夫。 主要是很多方面都要我去判断全选状态。ListCheckBox的ItemCheck事件和全选的CheckStateChanged事件 几乎让我弄的惨不忍睹,加了减了,减了加了,如下类似的代码我调用了不知道多少次。 注意: 开发环境为Visual Studio 2005
【文件预览】:
FilterControlDemo50a79b1f-bc89-456c-bc0f-9b1e5241e696
----FilterDemo.suo(18KB)
----NanQi.Control()
--------bin()
--------TextBoxExtend.designer.cs(1KB)
--------TextBoxExtend.cs(17KB)
--------obj()
--------ImageButton.cs(3KB)
--------LoadingCircleToolStripMenuItem.cs(868B)
--------NanQi.Controls.csproj(3KB)
--------LoadingCircle.cs(12KB)
--------Properties()
--------PinkieControls()
----FilterDemo()
--------UCFilter.designer.cs(5KB)
--------bin()
--------Form1.Designer.cs(1KB)
--------FrmMain.Designer.cs(9KB)
--------EntitySimple.cs(2KB)
--------Program.cs(445B)
--------FilterDemo.csproj(5KB)
--------FrmSift.resx(6KB)
--------obj()
--------FrmFilter.cs(2KB)
--------FrmMain.cs(3KB)
--------FrmSift.cs(20KB)
--------FrmFilter.resx(6KB)
--------Form1.cs(323B)
--------EntityCheckedBox.cs(1KB)
--------DataGridViewBll.cs(8KB)
--------FrmSift.designer.cs(35KB)
--------UCFilter.cs(8KB)
--------FrmFilter.Designer.cs(5KB)
--------FrmMain.resx(6KB)
--------SqlHelper.cs(2KB)
--------Properties()
--------UCFilter.resx(7KB)
----FilterDemo.sln(1KB)