请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

zhangyi

初级会员

31

主题

90

帖子

269

积分

初级会员

积分
269

活字格认证

[已处理] Combo1 模糊搜索

zhangyi
初级会员   /  发表于:2014-12-11 00:58  /   查看:4832  /  回复:5




combo怎么实现这种模糊搜索定位,
最好是我在combo里输入22 时,下拉列表里只出现fdm 包含 22 的记录

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-12-11 14:47:00
沙发
回复 1楼zhangyi的帖子

使用c1combo的AutoComplete功能。
代码参考:
  1. c1Combo1.DataSource = dt;  //DataTable
  2.             c1Combo1.DisplayMember = dt.Columns[0].ColumnName;
  3.             c1Combo1.AutoCompletion = true;
  4.             c1Combo1.AutoDropDown = true;
  5.             c1Combo1.ColumnHeaders = false;
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
zhangyi
初级会员   /  发表于:2014-12-11 18:17:00
板凳
可能您没有理解我的意思,


比如这里,当我输入22时,我希望下拉列表里只会出现包含 22 字符的项。
就好像 百度的输入框一样

c1Combo1.AutoCompletion = true;
这个属性我很早就试过,它一定是从首字符开始匹配

这个问题困扰我很长时间,我尝试用以下的代码在数据源上直接过滤,但极不稳定,出现很多莫名的问题
  1.         private void c1Combo1_KeyUp(object sender, KeyEventArgs e)
  2.         {
  3.             if (e.KeyCode != Keys.Down)
  4.             {
  5.                 StringBuilder sb = new StringBuilder(50);
  6.                 sb.Append("fdm  like ");
  7.                 sb.Append("'%");
  8.                 sb.Append(this.c1Combo1.Text.Trim());
  9.                 sb.Append("%'");
  10.                 this.Text = sb.ToString();
  11.                 this.bs2.Filter = sb.ToString();
  12.             }
  13.         }
复制代码



我用以上的代码在数据源上过滤,可以达到以下效果,是我需要的,但这时combox变得极不稳定,出现太多的莫名问题
(比如输入的字符不显示,按下backspace时会直接删掉全部字符)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
gw0506
超级版主   /  发表于:2014-12-12 10:41:00
地板
抱歉,目前C1Combo还不支持此功能。

对于你实现的逻辑,我建议把keyup换成TextChanged事件。如果还有问题,可以debug看看到底哪部分逻辑有漏洞。
回复 使用道具 举报
zhangyi
初级会员   /  发表于:2014-12-12 14:18:00
5#
回复 4楼gw0506的帖子

谢谢!
c1Combo1_TextChanged 依然没有效果,不过还是谢谢你的回复
我只是想用最简单的方式实现 类似 百度 搜索那样的输入效果。但一直找不到一个好的方法
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-12-15 17:53:00
6#
回复 5楼zhangyi的帖子

感谢你的反馈。
目前产品没有提供合适的方法实现你的需求。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部