以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  我希望在"窗口3_Table1" 中只显示未发货的行,我该如何编写代码?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20331)

--  作者:apple333
--  发布时间:2012/6/5 10:49:00
--  我希望在"窗口3_Table1" 中只显示未发货的行,我该如何编写代码?
 

老师,您好!

请教您,我用帮助文件自定义录入界面之二方法设计录入窗口,

问题是:我希望在"窗口3_Table1" 中只显示未发货的行,我该如何编写代码?我现有的代码如下:

1、新增一个窗口,类型为"DropDownForm",窗口插入一个TextBox和一个Table控件,Table控件的“作为副本”属性设置为True,“允许编辑”属性设置为False,并绑定到订单表,设定显示列为:订单号|100|产品号|100|产品名称|90 |规格尺寸|100|订购数量|90|单位|60。

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

Dim txt As String = e.Form.Controls("TextBox1").Text

Dim tbl As Table = Tables("窗口3_Table1")

If txt = "" Then

    tbl.Filter = ""

Else

    txt = "\'*" & txt & "*\'"

    tbl.Filter = "订单号 Like " & txt & " Or 产品号 Like " & txt & " Or 产品名称 Like " & txt & " Or 规格尺寸 Like " & txt

End If



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


Dim tbl As Table = Tables("窗口3_Table1")

If tbl.Current IsNot Nothing Then

    Forms("窗口3").DropDownBox.Value = tbl.Current("产品号")

End If


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


Dim tbl As Table = Tables("窗口3_Table1")

If tbl.Current IsNot Nothing Then

    Forms("窗口3").DropDownBox.Value = tbl.Current("产品号")

End If

Forms("窗口3").DropDownBox.CloseDropDown()


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

Tables("发货单.明细").Cols("产品号").DropForm = "窗口3"


--  作者:冰31脚
--  发布时间:2013/2/23 20:04:00
--  

同问,顶一下,DropDownForm中只显示符合条件的行,应该怎么设计


--  作者:双轨制
--  发布时间:2013/2/23 20:10:00
--  
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("窗口3_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'*" & txt & "*\'"
    tbl.Filter = "(未发货 = False Or 未发货 Is Null) And (订单号 Like " & txt & " Or 产品号 Like " & txt & " Or 产品名称 Like " & txt & " Or 规格尺寸 Like " & txt  & ")"
End If