以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]跪求只要输入首拼就能模糊查找列表项目的参考代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68179)

--  作者:lyydwh
--  发布时间:2015/5/11 20:45:00
--  [求助]跪求只要输入首拼就能模糊查找列表项目的参考代码
比如在公司列有几千个公司名称,我要查找“龙岩市奔月电脑公司”这个公司,只要在列表项目输入“BYDN“就能模糊查找把相应的列表项目找出来,这样输入就方便多了
--  作者:e-png
--  发布时间:2015/5/11 21:13:00
--  
GetPy
--  作者:程兴刚
--  发布时间:2015/5/11 21:49:00
--  

发文件上来!


--  作者:大红袍
--  发布时间:2015/5/11 22:12:00
--  

 加一列 拼音列,然后在Datacolchanged事件写代码

 

If e.DataCol.Name = "第一列" Then
    If e.NewValue = Nothing Then
        e.DataRow("拼音") = Nothing
    Else
        e.DataRow("拼音") = GetPy(e.NewValue, True)
    End If
End If


--  作者:lyydwh
--  发布时间:2015/5/11 22:29:00
--  

在组合框已实现这个功能

在ComboBox的KeyPress事件加入如下代码即可(输入简拼按空格后打开下拉列表就只列出和简拼相关的公司)

If Char.IsPunctuation(e.KeyChar) OrElse Char.IsSymbol(e.KeyChar) Then
    e.Cancel = True
ElseIf Char.IsLower(e.KeyChar) Then
    e.Cancel = True
    e.Sender.SelectedText = e.KeyChar.ToUpper
ElseIf e.KeyChar=" "
    e.Cancel=True
    e.Sender.DataFilter=Cexp("公司简拼 like  \'*{0}*\'" ,e.Sender.Text)
    e.Sender.OpenDropDown()
End If

 

但在表格中不知道在哪设置列表项目的DataFilter属性

[此贴子已经被作者于2015/5/11 22:32:44编辑过]