C#实现的 快速查找通用组件 YHSoft.QuickFind
2016-06-15 20:59
393 查看
功能:
在给定的DataTable中筛选出指定的记录,以DataRow形式返回。返回后自己根据需要处理。提供6种重构(ListView显示列的数量不同)。
组件显示默认界面
调用代码:
三、功能详解
(2) 检索字段:所有的检索字段必须在传入数据表(DataTable)中存在,如缺少字段,组件会自行退出。
(3)显示字段:所有的显示字段必须在传入数据表(DataTable)中存在,数据表(DataTable)中必须有enabled字段,bool类型,如无此字段,请自己根据条件在DataTable中添加此字段,如缺少字段,组件会自行退出。
(4)未输入筛选条件时,筛选结果区域默认显示为数据表(DataTable)的前N条记录。
(5)汉字的检索字段为所有有效的显示字段(最多6个,取决于你使用了哪个调用),无论哪个字段包含指定的输入字符(汉字)都视为可能需要的记录
(2)“首位顺序匹配”:从检索字段首位开始检索与TextBox内容相同的记录(切换为汉字检索同样适用);
(3)“包含连续匹配”: 在检索字段中查找包含与TextBox内容相同的记录(切换为汉字检索同样适用);
(4)“完全匹配”: 在检索字段中查找与TextBox内容完全相同的记录(切换为汉字检索同样适用);
(5)“显示停用记录”:是否在筛选结果中显示已停用/无效的记录,此值默认值为调用时参数传入值,可在界面调整,不保留记忆功能(切换为汉字检索同样适用);
(6) “显示记录数”:筛选结果区域显示的筛选记录数量,此值默认值为调用时参数传入值,可在界面调整,最小为1,最大为50,不保留记忆功能(切换为汉字检索同样适用);
你看到的1-6列为参数传入列,此6列为你调用组件时传入显示列参数的第2-7列参数,第1个为主键列,在组件中不显示,第7列为组件加入的”是否停用”列,列宽度(除第1列,宽度恒定为0,不可调整)为字段内容最大宽度或列标题宽度(在这两个宽度中取大的作为显示时的列宽度,可以运行时调整,不保留记忆功能);
(2)“关闭”按钮为FORM的CancelButton,可通过ESC键关闭界面;
(3)在”TextBox”中直接回车,选中首条记录;
(4)在”TextBox” 按方向键↓可直接选中第一条记录,在结果集中可上下键选中想要的记录,回车键选中记录,并退出界面;
(5)筛选结果集中按↑键且是第一条记录时,”TextBox”获得输入焦点,在已输入字符最后;
(6)鼠标可以在任意时候选中需要记录并退出界面;
(2)选中结果后,组件将选中结果以Datarow参数传出,传出后自己根据需要处理,但需要注意传出的DataRow与数据源表中的DataRow是数据相同,不是DataRow相同,主要是由于RowState不同而不能判定为同一DataRow,数据源表的RowState为DataRowState.Unchanged,而传出DataRow的RowState为
DataRowState.Added,此属性为只读属性,无法在代码中修改;
下载地址:http://download.csdn.net/detail/meerio/9550742
使用过程 的问题可与我联系!
如果你有更好的见意请与我联系,欢迎指正完善。
邮箱:ZQJia@outlook.com
QQ:18665960
在给定的DataTable中筛选出指定的记录,以DataRow形式返回。返回后自己根据需要处理。提供6种重构(ListView显示列的数量不同)。
一、组件界面
组件显示默认界面
二、调用:
添加组件YHSoft.QuickFind.dll引用,并using调用代码:
DataSet clientDs = new DataSet(); string[,] searchFlds = { { "codePy", "拼音助记符" }, { "codeWb", "五笔助记符" } };//如需要更多的检索字段,请在此定义 try { DataTable quickFindTb = clientDs.Tables["staffNav"].Copy(); FrmQuickFind quickFind = new FrmQuickFind( quickFindTb, "值班人员", searchFlds, "id", "name", "姓名", 20, false, "");//两列显示参数调用 quickFind.ShowDialog(); if (quickFind.outDr != null) { //你自己的代码 } quickFindTb.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message); } //三到七列显示参数调用 //略
1、总体说明
(1) 数据表(DataTable):建议用数据副本传入,需要有主键,如未建立主键,请先为数据表建立主键,在组件中会对数据表按检索字段重新排序,不恢复传入前排序,不处理使用后的副本DataTable;(2) 检索字段:所有的检索字段必须在传入数据表(DataTable)中存在,如缺少字段,组件会自行退出。
(3)显示字段:所有的显示字段必须在传入数据表(DataTable)中存在,数据表(DataTable)中必须有enabled字段,bool类型,如无此字段,请自己根据条件在DataTable中添加此字段,如缺少字段,组件会自行退出。
(4)未输入筛选条件时,筛选结果区域默认显示为数据表(DataTable)的前N条记录。
(5)汉字的检索字段为所有有效的显示字段(最多6个,取决于你使用了哪个调用),无论哪个字段包含指定的输入字符(汉字)都视为可能需要的记录
2、查找条件区域
(1)“TextBox”:检索条件输入区域。筛选字段取决于传参数的筛选字段集合,F4循环切换你的筛选字段集合,F2切换到指定字符(汉字)检索模式,F4切回时记录你切换前的筛选条件,不可输入英文半角”%”字符,其它无限制,输入字符要符合检索字段规则。(2)“首位顺序匹配”:从检索字段首位开始检索与TextBox内容相同的记录(切换为汉字检索同样适用);
(3)“包含连续匹配”: 在检索字段中查找包含与TextBox内容相同的记录(切换为汉字检索同样适用);
(4)“完全匹配”: 在检索字段中查找与TextBox内容完全相同的记录(切换为汉字检索同样适用);
(5)“显示停用记录”:是否在筛选结果中显示已停用/无效的记录,此值默认值为调用时参数传入值,可在界面调整,不保留记忆功能(切换为汉字检索同样适用);
(6) “显示记录数”:筛选结果区域显示的筛选记录数量,此值默认值为调用时参数传入值,可在界面调整,最小为1,最大为50,不保留记忆功能(切换为汉字检索同样适用);
3、筛选结果区域
图中为最大显示字段数的截图(7个显示字段,本说明以此图说明)你看到的1-6列为参数传入列,此6列为你调用组件时传入显示列参数的第2-7列参数,第1个为主键列,在组件中不显示,第7列为组件加入的”是否停用”列,列宽度(除第1列,宽度恒定为0,不可调整)为字段内容最大宽度或列标题宽度(在这两个宽度中取大的作为显示时的列宽度,可以运行时调整,不保留记忆功能);
4、操作说明
(1)“TextBox”输入后无需要其它操作,自动筛选出符合条件的记录,查寻中的其它条件改变后自动刷新筛选结果;(2)“关闭”按钮为FORM的CancelButton,可通过ESC键关闭界面;
(3)在”TextBox”中直接回车,选中首条记录;
(4)在”TextBox” 按方向键↓可直接选中第一条记录,在结果集中可上下键选中想要的记录,回车键选中记录,并退出界面;
(5)筛选结果集中按↑键且是第一条记录时,”TextBox”获得输入焦点,在已输入字符最后;
(6)鼠标可以在任意时候选中需要记录并退出界面;
5、其它说明
(1)组件最少需要2个显示字段,最多支持7个显示字段,其中第一个字段为主键字段,组件中不显示,如果你是2个显示参数的调用,并且将第2个显示参数为“”值,组件界面你看不到结果集(只有第1个,已被隐藏了);(2)选中结果后,组件将选中结果以Datarow参数传出,传出后自己根据需要处理,但需要注意传出的DataRow与数据源表中的DataRow是数据相同,不是DataRow相同,主要是由于RowState不同而不能判定为同一DataRow,数据源表的RowState为DataRowState.Unchanged,而传出DataRow的RowState为
DataRowState.Added,此属性为只读属性,无法在代码中修改;
下载地址:http://download.csdn.net/detail/meerio/9550742
使用过程 的问题可与我联系!
如果你有更好的见意请与我联系,欢迎指正完善。
邮箱:ZQJia@outlook.com
QQ:18665960
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#比较二个数组并找出相同或不同元素的方法