DevExpress控件TExtLookupComboBox实现多列模糊匹配输入的方法
本方案不需要修改控件源码,是完美解决支持多列模糊匹配快速输入的最佳方案!!
1、把列的Properties属性设置为ExtLookupComboBox。
Properties.IncrementalFiltering := False;
Properties.CaseSensitiveSearch := False;
Properties.DropDownListStyle := lsEditList;
当然,接着要完成设置Properties.View,Properties.KeyFieldNames和Properties.ListFieldItem。
// 本案例的列是:cxGridDBTableView1VENDOR_ID: TcxGridDBColumn;绑定服务商ID自动。
2、Properties.OnChange事件代码:
procedure TFormcxLookupCombox.cxGridDBTableView1VENDOR_IDPropertiesChange(Sender: TObject);
var
iCol: Integer;
vInputText: String;
begin
// 注:cxGridDBTableView1VENDOR_ID: TcxGridDBColumn;
(Sender as TcxExtLookupComboBox).Properties.IncrementalSearch := False; //必需
(Sender as TcxExtLookupComboBox).Properties.CaseInsensitive := True; //必需
//(Sender as TcxExtLookupComboBox).Properties.IncrementalFiltering := False;//设计期在Properties中设置好.
//(Sender as TcxExtLookupComboBox).Properties.CaseSensitiveSearch := False; //设计期在Properties中设置好.
//(Sender as TcxExtLookupComboBox).Properties.DropDownListStyle := lsEditList;//设计期在Properties中设置好
vInputText := (Sender as TcxExtLookupComboBox).EditText;
// with (cxGrid1DBTableView1VENDOR_ID.Properties as TcxExtLookupComboBoxProperties) do
with (Sender as TcxExtLookupComboBox).Properties do // 改为通用写法.
begin
View.DataController.Filter.Options := [fcoCaseInsensitive];
View.DataController.Filter.Clear;
View.DataController.Filter.Root.Clear;
// view中所有可视列都用于模糊检索.
for iCol := 0 to View.VisibleItemCount - 1 do
begin
if iCol > 0 then View.DataController.Filter.Root.BoolOperatorKind := fboOR;
View.DataController.Filter.Root.AddItem(View.VisibleItems[iCol], foLike,
'%' + vInputText + '%', '%' + vInputText + '%');
end;
View.DataController.Filter.Active := True;
end;
end;
3、Properties.OnCloseUp事件代码:
procedure TFormcxLookupCombox.cxGridDBTableView1VENDOR_IDPropertiesCloseUp(Sender: TObject);
begin
(Sender as TcxExtLookupComboBox).Properties.View.DataController.Filter.Clear;
end;
如果不是在cxGrid的列中编辑数据,则可以用TcxDBExtLookupComboBox控件实现,方法与上述雷同!
转自:http://blog.csdn.net/qq56430204/article/details/52199007
DevExpress控件TExtLookupComboBox实现多列模糊匹配输入的方法的更多相关文章
- DevExpress控件cxGrid实现多列模糊匹配输入的完美解决方案
本方案不需要修改控件源码,是完美解决cxgrid或TcxDBExtLookupComboBox支持多列模糊匹配快速输入的最佳方案!! 转自https://blog.csdn.net/qq5643020 ...
- Android控件——AutoCompleteTextView与MultiAutoCompleteTextView(实现自动匹配输入的内容)
------------------------------------AutoCompleteTextView----------------------
- element-ui的table表格控件表头与内容列不对齐问题
原文链接:点我 element-ui的table表格控件表头与内容列不对齐问题 解决方法:将以下样式代码添加到index.html.或app.vue中(必须是入口文件,起全局作用!)body .el- ...
- DevExpress控件的GridControl控件小结
DevExpress控件的GridControl控件小结 (由于开始使用DevExpress控件了,所以要点滴的记录一下) 1.DevExpress控件组中的GridControl控件不能使横向滚动条 ...
- 在Winform开发框架中,利用DevExpress控件实现数据的快速录入和选择
在实际的项目开发过程中,有好的控件或者功能模块,我都是想办法尽可能集成到我的WInform开发框架中,这样后面开发项目起来,就可以节省很多研究时间,并能重复使用,非常高效方便.在我很早之前的一篇博客& ...
- DevExpress控件使用经验总结- GridView列表行号显示操作
DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件.本文主要介绍我在使用DevExpress控件过程中,遇到或者发现的一些问题解决方案,或者也可以所示一 ...
- DevExpress控件开发常用要点(项目总结版)
使用DevExpress控件来做项目开发已经有很长一段时间了,在摸索开发到客户苛刻要求的过程中,其中碰到过很多问题需要解决的,随着一个个问题的解决,也留下很多对DevExpress控件的使用经验及教训 ...
- DevExpress控件-- Gridcontrol合并表头
写在前面的话: 在园子里逛了有一段时间了,一直想写点东西,但苦于自己的水平有限,生怕写出来的东西浪费了读者的时间.楼主有幸参加了公司DevExpress控件的培训,独乐乐不如众乐乐,特附上Demo以飨 ...
- DevExpress控件-GridControl根据条件改变单元格/行颜色--转载
DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...
随机推荐
- 学习笔记之PostgreSQL / pgAdmin / Psycopg / PostGIS
PostgreSQL: The world's most advanced open source database https://www.postgresql.org/ POSTGRESQL: T ...
- [转][CentOS]VI编辑器使用
参考:https://blog.csdn.net/qq_34160679/article/details/79800584 参考:https://www.cnblogs.com/mondol/p/vi ...
- 云端搭建内网局域网+NAT冗余上网:vps-centos6.10 +pptp client +2个ros 实现默认走pptp上网,万一pptp断了,走另外一个ros路由+centos7补充了下
介绍下环境: 1.ROS1也是PPTP SERVER,IP为172.16.22.3/24,pptp pool为172.16.23.0/24,pptp的默认帐号是111,密码是123 2.ROS2的IP ...
- JDK、JRE与JVM的关系
- [UE4]限制杀人信息的显示数量
- 优化:js 逻辑运算符优化
运算符的代码优化,可以精简代码,提高代码可读性 下面主要讨论下逻辑运算符与 &&, 或||. 示例: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头: 成长速度为10显示2个箭 ...
- MySQL 之 mysqlbinlog解析binlog乱码问题解密
发现mysql库的binlog日志出来都是乱码,如下所示: BINLOG ’ IXZqVhNIAAAALQAAAGcBAAAAAHoAAAAAAAEABHRlc3QAAno0AAEDAABUOcnY ...
- Windows安装启动MySQL
Win安装MySQL数据库将下载下来的mysql解压到指定目录下,cmd切换到bin目录下>mysqld -install 安装服务>mysqld -remove 卸载服务>net ...
- 第11章 拾遗5:IPv6和IPv4共存技术(3)_NAT-PT技术【全书完】
6.4 NAT-PT (1)NAT-PT和NAT的差别 ①NAT-PT(附带协议转换的网络地址转换)技术秉承NAT技术的思想,但在原理方面大有不同. ②NAT-PT和NAT本质的区别在于应用场合的不同 ...
- c# webBrowser全掌握
一.获取网页源代码 1.不含有框架 string s=WB1.DocumentText; //webbrowser1命名为WB1,下同 2.含有框架 引用mshtml; //位置C ...