Foxtable(狐表)用户栏目专家坐堂 → [求助]不用组合键达到输入助手的高级筛选功能


  共有4603人关注过本帖树形打印复制链接

主题:[求助]不用组合键达到输入助手的高级筛选功能

美女呀,离线,留言给我吧!
找到没重的名
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:129 积分:2193 威望:0 精华:0 注册:2016/11/8 6:22:00
[求助]不用组合键达到输入助手的高级筛选功能  发帖心情 Post By:2017/5/23 7:20:00 [显示全部帖子]

输入助手的高级筛选功能,必须通过ctrl+enter才能调用。但是我想实现输入任意字符不用通过组合键就直接出现列表的功能。
我看到有人提到这个问题,但回复是效率的问题,没有给出解决方法。我希望可以给出解决方法,哪怕是给个大概给个思路,让我可以用代码写出来。

 回到顶部
美女呀,离线,留言给我吧!
找到没重的名
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:129 积分:2193 威望:0 精华:0 注册:2016/11/8 6:22:00
  发帖心情 Post By:2017/7/22 10:32:00 [显示全部帖子]

在这个例子里,有两段代码 都有+= 这样的写法

 

表A_ChangeEdit

 

If e.Col.Name = "第一列" Then '如果编辑的是客户ID列

    If e.Col.DroppedDown Then '如果下拉窗口已经打开

        Dim items As String = ""

        For Each dr As DataRow In DataTables("表B").Select("拼音 like '*" & e.Text & "*'")

            items += dr("数据") & "|"

        Next

        Dim lsx As WinForm.ListBox = Forms(e.Col.DropForm).Controls("ListBox1")

        lsx.ComboList = items.Trim("|")

    End If

End If


我曾试着去掉上面代码 items += dr("数据") & "|"的加号 结果就不能正常显示列表了

请问老师 这个加号在此有何特殊作用?


 回到顶部
美女呀,离线,留言给我吧!
找到没重的名
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:129 积分:2193 威望:0 精华:0 注册:2016/11/8 6:22:00
  发帖心情 Post By:2017/7/22 10:47:00 [显示全部帖子]

谢谢老师秒回复,我再揣摩一下。

 回到顶部
美女呀,离线,留言给我吧!
找到没重的名
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:129 积分:2193 威望:0 精华:0 注册:2016/11/8 6:22:00
  发帖心情 Post By:2017/7/26 23:22:00 [显示全部帖子]

这个例子中还有一段代码,当中-= 和 +=有什么特殊意义?我觉得和&有点不太一样,请老师解释下。

还有这两行代码    

            ElseIf e.KeyCode = Keys.Enter

            msgbox(1)

 代码按下回车键,为什么是要弹出messagebox?可是当我按下回车键,也没有提示1啊?

谢谢老师!

 

表A_KeyDownEdit

 

If e.Col.Name = "第一列" Then '如果编辑的是客户 ID列

    If e.Col.DroppedDown Then '如果下拉窗口已经打开

        Dim lsx As WinForm.ListBox = Forms(e.Col.DropForm).Controls("ListBox1")

       

        If e.KeyCode = Keys.Up Then '如果按下的是上箭头按键

            If lsx.SelectedIndex > 0 Then

                lsx.SelectedIndex -= 1

            End If

            e.Cancel = True

        ElseIf e.KeyCode = Keys.Down Then '如果按下的是下箭头按键

            If lsx.SelectedIndex < lsx.Items.Count - 1 Then

                lsx.SelectedIndex += 1

            End If

            e.Cancel = True

        ElseIf e.KeyCode = Keys.Enter

msgbox(1)

        End If

    End If

End If

 


 回到顶部
美女呀,离线,留言给我吧!
找到没重的名
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:129 积分:2193 威望:0 精华:0 注册:2016/11/8 6:22:00
  发帖心情 Post By:2017/7/26 23:31:00 [显示全部帖子]

谢谢老师!
我主要还是想知道,按了回车键应该 总应该执行一段代码,让所选结果赋值到单元格。为什么没有呢?
我知道msgbox(1) 是用来测试代码的,可我为什么按了回车键,不出现提示框1呢?

[此贴子已经被作者于2017/7/26 23:58:39编辑过]

 回到顶部