Foxtable(狐表)用户栏目专家坐堂 → 关于【自定义录入界面之二】中,当不存在与【客户ID】栏录入的内容对应的客户时,如何自动清空【客户ID】栏内容?


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

主题:关于【自定义录入界面之二】中,当不存在与【客户ID】栏录入的内容对应的客户时,如何自动清空【客户ID】栏内容?

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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
关于【自定义录入界面之二】中,当不存在与【客户ID】栏录入的内容对应的客户时,如何自动清空【客户ID】栏内容?  发帖心情 Post By:2012/2/24 17:46:00 [只看该作者]


帮助中的:当不存在与【客户ID】栏录入的内容对应的客户时,如何自动清空【客户ID】栏内容?


自定义录入界面之二

上一节内容讲述了如何自定义录入界面来实现快速的模糊查询录入,使用的是模式窗口。
本节来完成同样的任务,不同的是使用下拉窗口来实现。

1、首先在订单表新增一个窗口,窗口类型为"DropDownForm",窗口插入一个TextBox和一个Table控件,Table控件的“作为副本”属性设置为True,“允许编辑”属性设置为False,并绑定到客户表。

2、将TextBox1的TextChanged事件代码设为:

Dim txt As String = e.Form.Controls("TextBox1").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

这样我们在文本框中输入任何内容,Table就会自动进行模糊筛选,显示客户ID、公司名称、地址、联系人这四列中,任何一列包括输入内容的行。

3、将TextBox1的KeyDown事件代码设为:

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
Elseif
 e.KeyCode = Keys.Enter Then
    
If tbl.Current IsNot Nothing Then
        e.Form.DropDownBox.Value = tbl.Current(
"客户ID")
    End
 
If
    e.Cancel = 
True
    e.Form.DropDownBox.CloseDropDown()

End
 If

这样在文本框中按上下箭头键,可以在Table中选择不同的行,按回车键会将选定行的客户ID输入到订单表的当前行中,并关闭下拉窗口
为了避免按上下箭头键的时候,文本框的光标会移动,下面的代码是必须的:    
e.Cancel = 
True

4、将Table控件的DoubleClick事件设置为:

Dim tbl As Table = Tables("窗口1_Table1")
If
 tbl.Current IsNot Nothing Then
    Forms(
"窗口1").DropDownBox.Value = tbl.Current("客户ID")
End
 If
Forms(
"窗口1"
).DropDownBox.CloseDropDown()

这样在窗口的Table中双击某行,即可将该行的客户ID输入到订单表的当前行中,并关闭下拉窗口。
提示:由于Table的DoubleClick事件的e参数不包括Form属性,所以代码中不能使用e.Form来引用窗口,只能直接使用窗口名:Forms("窗口1")。

5、在项目事件AfterOpenProject事件中加入代码:

Tables("订单").Cols("客户ID").DropForm = "窗口1"

下图是我们最终的设计效果,显然用这个下拉窗口来输入客户ID,其便利性不是列表项目和数据字典能比拟的:

图片点击可在新窗口打开查看

 


本页地址:http://www.foxtable.com/help/topics/2116.htm

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/24 17:51:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/2/24 17:55:00 [只看该作者]

谢谢!
在这看下这块

 回到顶部