1、在 生产记录表 新建一个窗口
此主题相关图片如下:3.jpg

窗口类型为模式,窗口插入一个TextBox和一个Table控件,Table控件的“作为副本”属性设置为True,
“允许编辑”属性设置为False,并绑定到绑定到仓库表。
此主题相关图片如下:5.jpg

2、将TextBox1的TextChanged事件代码设为:
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("窗口1_Table1")
tbl.Filter= ""
If txt = "" Then
tbl.Filter = ""
Else
txt = "'*" & txt & "*'"
tbl.filter = "(产品名称 Like " & txt & " Or 规格 Like " & txt & " Or 单位 Like " & txt & ")"
End If
这样我们在文本框中输入任何内容,Table就会自动进行模糊筛选,显示产品名称,规格,单位 这三列中,
任何一列包括输入内容的行。
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
Tables("生产记录表").Current("产品id") = tbl.Current("产品id")
Tables("生产记录表").Current("产品名称") = tbl.Current("产品名称")
Tables("生产记录表").Current("规格") = tbl.Current("规格")
Tables("生产记录表").Current("单位") = tbl.Current("单位")
End If
e.Cancel = True
e.Form.Close()
End If
这样在文本框中按上下箭头键,可以在Table中选择不同的行,按回车键会将选定行的产品名称,规格,
单位等输入到生产记录表的当前行中,并关闭窗口。
为了避免按上下箭头键的时候,文本框的光标会移动,下面的代码是必须的:
e.Cancel = True

此主题相关图片如下:6.jpg
[此贴子已经被作者于2011-8-9 17:36:10编辑过]