Foxtable(狐表)用户栏目专家坐堂 → [求助]dropdownform打开后的继续编辑问题


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

主题:[求助]dropdownform打开后的继续编辑问题

帅哥哟,离线,有人找我吗?
jiskin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
[求助]dropdownform打开后的继续编辑问题  发帖心情 Post By:2014/6/20 10:21:00 [只看该作者]

table的 keypressedit 事件中
If e.Col.Name = "物料名称" Then
    If e.Col.DroppedDown = False Then
        e.Col.OpenDropDown()
    End If
End If

当dropdownform打开后,原本单元格中的编辑状态就没了,有没有办法保持?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/20 10:22:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2014/6/20 10:25:00 [只看该作者]

以下是引用Bin在2014-6-20 10:22:00的发言:
http://www.foxtable.com/help/topics/2465.htm

 

BIn大哥 我没有按照上面做的

changededit中我是这样的

If e.Col.Name = "物料名称" Then
    If e.Col.DroppedDown Then
        Dim t As Table = Tables("录入选择_Table1")
        If e.Text > "" Then
            t.Fill("select * from 物料库存_View_1 where 物料名称 like " & "'%" & e.Text & "%'","xxx",True)
            t.AutoSizeCols
            For Each cl As Col In t.Cols
                cl.TextAlign = TextAlignEnum.Center
            Next
            t.ListMode = True
            t.DataTable.SysStyles("CurrentRow").BackColor = Color.LawnGreen
        Else
            e.Col.CloseDropDown
        End If
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2014/6/20 10:26:00 [只看该作者]

在单元格输入第一个字符后 窗口打开了,并执行了筛选,但是单元格的编辑状态没有了 要重新用鼠标选中才行


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2014/6/20 10:32:00 [只看该作者]

刚在dropdownform的 dropdownopened事件中加入这个

e.Form.DropDownBox.Select()

可以编辑了 但是

keydown 事件

If e.KeyCode = Keys.Enter Then
    With Tables("录入选择_Table1")
        If e.Form.DropTable IsNot Nothing Then
            If e.Form.DropTable.Name = "新增入库_Table1" Then
                Dim r As Row = Tables("新增入库_Table1").Current
                If r IsNot Nothing Then
                    e.Form.DropDownBox.Value = .Current("物料名称")
                    r("物料编号") = .Current("物料编号")
                End If
            End If

 

这个失效了,怎么回事

[此贴子已经被作者于2014-6-20 10:32:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/20 10:32:00 [只看该作者]

呵呵,请仔细看帮助.


2、将窗口的DropDownOpened事件代码设置为:

Dim txt As String = e.Form.DropDownBox.Text
Dim
 tbl As Table = Tables("窗口1_Table1")
If
 txt = "" Then
    
tbl.Filter = ""
Else

    txt = 
"'%" & txt & "%'"
    tbl.Filter = 
"客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt
End
 If
e.Form.DropDownBox.
Select() 
'将输入焦点返回下拉列表框


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2014/6/20 10:35:00 [只看该作者]

以下是引用Bin在2014-6-20 10:32:00的发言:
呵呵,请仔细看帮助.


2、将窗口的DropDownOpened事件代码设置为:

Dim txt As String = e.Form.DropDownBox.Text
Dim
 tbl As Table = Tables("窗口1_Table1")
If
 txt = "" Then
    
tbl.Filter = ""
Else

    txt = 
"'%" & txt & "%'"
    tbl.Filter = 
"客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt
End
 If
e.Form.DropDownBox.
Select() 
'将输入焦点返回下拉列表框

 

这个感觉和table中的 changedit 事件重复了……所以我没写,光写了个

e.Form.DropDownBox.Select() '将输入焦点返回下拉列表框

 

难道一定要添加进去?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/20 10:37:00 [只看该作者]

请严格按照帮助来做哦

 回到顶部