以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 通过表引用下拉窗口,如何实现在表中按下 enter 或 方向向右的箭头,才弹出下拉窗口? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149236) |
-- 作者:guosheng -- 发布时间:2020/4/27 9:11:00 -- 通过表引用下拉窗口,如何实现在表中按下 enter 或 方向向右的箭头,才弹出下拉窗口? 自定义录入界面之三 |
-- 作者:有点蓝 -- 发布时间:2020/4/27 9:15:00 -- 到表格keydown事件写代码控制即可 |
-- 作者:guosheng -- 发布时间:2020/4/27 10:22:00 -- 原来打开下拉窗口的代码该怎么改啊,多谢 If e.Col.Name =
"客户ID"
Then
\'如果编辑的是客户ID列
If e.Control =
True
AndAlso e.Table.Current IsNot Nothing
Then …… Case Keys.Enter ……
|
-- 作者:有点蓝 -- 发布时间:2020/4/27 10:53:00 -- 试了一下,没有办法使用enter控制,可以使用方向键 去掉KeyPressEdit事件,KeyDownEdit事件改为 If e.Col.Name = "客户ID" Then \'如果编辑的是客户 ID列 If e.Col.DroppedDown Then \'如果下拉窗口已经打开 Dim tbl As Table = Tables("窗口1_Table1") If e.KeyCode = Keys.Up Then \'如果按下的是上箭头按键 tbl.Position = tbl.Position - 1 \'向上移动一行 e.Cancel = True ElseIf e.KeyCode = Keys.Down Then \'如果按下的是下箭头按键 tbl.Position = tbl.Position + 1 \'向下移动一行 e.Cancel = True End If ElseIf e.KeyCode = keys.right e.Cancel = True e.Col.OpenDropDown End If End If |
-- 作者:guosheng -- 发布时间:2020/4/27 12:08:00 -- 下拉窗口打开时进行筛选该写到哪里啊? 按了右方向键,调出下拉窗口,筛选失效了。
原来在Changeedit中的代码 If e.Col.Name = "客户" Then \'如果编辑的是客户ID列 If e.Col.DroppedDown Then \'如果下拉窗口已经打开 Dim tbl As Table = Tables("下拉窗口_Table1") If e.Text = "" Then \'如果内容为空 tbl.Filter = "" \'显示所有客户 Else \'否则根据输入内容进行模糊筛选
Dim txt As String ="\'" & e.Text & "%\'" tbl.Filter = "ccode_name Like " & txt End If End If End If 将代码加到keydownedit事件中也没有起作用: If e.Col.Name = "第一列" Then \'如果编辑的是客户 ID列 If e.Col.DroppedDown Then \'如果下拉窗口已经打开 Dim tbl As Table = Tables("财务费项下拉窗口_Table1") If e.KeyCode = Keys.Up Then \'如果按下的是上箭头按键 tbl.Position = tbl.Position - 1 \'向上移动一行 e.Cancel = True ElseIf e.KeyCode = Keys.Down Then \'如果按下的是下箭头按键 tbl.Position = tbl.Position + 1 \'向下移动一行 e.Cancel = True End If ElseIf e.KeyCode = keys.right e.Cancel = True e.Col.OpenDropDown \'Dim tbl As Table = Tables("下拉窗口_Table1") \'If e.Text= "" Then \'如果内容为空 \'tbl.Filter = "" \'显示所有客户 \'Else \'否则根据输入内容进行模糊筛选 \'Dim txt As String ="\'" & e.Text & "%\'" \'tbl.Filter = "ccode_name Like " & txt \'End If End If End If |
-- 作者:有点蓝 -- 发布时间:2020/4/27 13:41:00 -- 如果要使用方向键来打开下拉,就没有办法做筛选了。要不就改为【自定义录入界面之二】的用法,在下拉窗口里添加筛选文本框 |
-- 作者:guosheng -- 发布时间:2020/4/29 8:54:00 -- 用dropdownbox控件,能否实现控件输入完毕后按下 回车 或 方向右键,实现 打开根据 dropdownbox内容筛选后的下拉窗口啊?多谢 [此贴子已经被作者于2020/4/29 8:54:32编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/29 8:58:00 -- dropdownbox,keydown事件 If e.KeyCode = keys.enter Then If e.Sender.DroppedDown = False Then e.Sender.OpenDropDown End If End If |