以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  办法比较笨  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42337)

--  作者:石四
--  发布时间:2013/11/8 16:56:00
--  办法比较笨

模仿自定义录入界面三

数据表录入时会有两个下拉窗打开,编辑顾客列打开窗口4,编辑零件编码列打开窗口5,

数据表事件代码

帮助文件例子是一个窗口,

数据表的KeyPressEdit:

 

If e.Col.Name = "客户ID" Then \'如果编辑的是客户ID列
    If e.Col.DroppedDown = False \'且下拉窗口没有打开
        e.Col.OpenDropDown()
\'打开下拉窗口
   
End If
End
If

 

我的是两个窗口,

第一行代码改为:If e.Col.Name = "顾客" or e.Col.Name = "零件编码" Then

 

另外两个事件ChangeEdit,KeyDownEdit代码复杂,只会改相应参数,重复写,觉得比较笨,比如:

 

If e.Col.Name = "顾客" Then \'如果编辑的是客户 ID列
   
If e.Col.DroppedDown Then \'如果下拉窗口已经打开
       
Dim tbl As Table = Tables("窗口4_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
   
End If
End
If

 

 

If e.Col.Name = "零件编码" Then \'如果编辑的是客户 ID列
   
If e.Col.DroppedDown Then \'如果下拉窗口已经打开
       
Dim tbl As Table = Tables("窗口5_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
   
End If
End
If

 

请问各位大神,有简练的写法不?

 


--  作者:Bin
--  发布时间:2013/11/8 17:02:00
--  
不算笨,实用!