C# DevExpress实现搜索智能提示功能

今天由于公司需求,需要对搜索框做一个类似百度搜索那样,有智能提示的下拉列表,现在使用DevExpress的TextEdit和GridControl控件,实现搜索时有智能提示的功能。使用版本13.1,如果有更好的实现方式,请记得分享出来,谢谢!

====================================================================================

  • 一、首先是设计思路:拖出来一个TextEdit,命名为GridControl;后再其下方,再拖出来一个GridControl,命名为gridControl1;把搜索的资源放到一个泛型里面,比如List<string>;TextEdit的EditValueChanged的事件里面,实现下来功能,其思想就是把得到的数据放到GridControl里面,使其只显示一列内容,取消索引列、编辑功能以及表格的轮廓线等属性,使其看起来更像一个下拉列表;当下拉列表出现时有两种情况:

  • 使用键盘时,按向下箭头,GridControl的第一列获取焦点;按向上箭头时,当达到第一列时,再次按下让TextEdit获取焦点,并把光标定位到最右边。
  • 使用鼠标时,当点击某一个单元格是,隐藏GridControl,并把获得值传到TextEdit,让TextEdit获取焦点,并把光标定位到最右边。

  • 二、代码实现方式:
C# DevExpress实现搜索智能提示功能
C# DevExpress实现搜索智能提示功能

C# DevExpress实现搜索智能提示功能
THQuery类的展示查询下拉列表方法:
C# DevExpress实现搜索智能提示功能

PS键盘事件没有贴代码,需要的小伙伴请联系我哦!!!