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

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

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

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

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

  • 二、代码实现方式:
C# DevExpress实现搜索智能提示功能_第1张图片
C# DevExpress实现搜索智能提示功能_第2张图片

C# DevExpress实现搜索智能提示功能_第3张图片
THQuery类的展示查询下拉列表方法:
C# DevExpress实现搜索智能提示功能_第4张图片

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

你可能感兴趣的:(DevExpress)