Foxtable(狐表)用户栏目专家坐堂 → 办法比较笨


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

主题:办法比较笨

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
办法比较笨  发帖心情 Post By: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

 

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

 


 回到顶部