以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自定义录入界面之一共用录入界面设置 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=130842) |
-- 作者:zhuxinhui -- 发布时间:2019/2/3 22:49:00 -- 自定义录入界面之一共用录入界面设置 电子档自定义录入界面之一第二点:将TextBox1的TextChanged事件代码,是否可以根据点击表不同而引用不同表当行某列的值,这句不知怎样加多个条件“tbl.Filter = "客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt ” 完全可以,接下来我们就看看如何来实现。 1、首先在订单表新增一个窗口,窗口类型为模式,窗口插入一个TextBox和一个Table控件,Table控件的“作为副本”属性设置为True,“允许编辑”属性设置为False,并绑定到客户表。 2、将TextBox1的TextChanged事件代码设为: Dim txt As String = e.Form.Controls("TextBox1").Text 这样我们在文本框中输入任何内容,Table就会自动进行模糊筛选,显示客户ID、公司名称、地址、联系人这四列中,任何一列包括输入内容的行。 3、将TextBox1的KeyDown事件代码设为: Dim tbl As Table = Tables("窗口1_Table1") 这样在文本框中按上下箭头键,可以在Table中选择不同的行,按回车键会将选定行的客户ID输入到订单表的当前行中,并关闭窗口。 4、将Table控件的DoubleClick事件设置为: Dim tbl As Table = Tables("窗口1_Table1") 这样在窗口的Table中双击某行,即可将该行的客户ID输入到订单表的当前行中,并关闭窗口。 5、将订单表客户ID列的列表项目设为“|...”最后并将订单表的CellButtonClick事件设为: If e.Col.Name = "客户Id" Then 下图是我们最终的设计效果,显然用这个窗口来输入客户ID,其便利性不是列表项目和数据字典能比拟的: |
-- 作者:zhuxinhui -- 发布时间:2019/2/3 23:08:00 -- 搞定了
|
-- 作者:zhuxinhui -- 发布时间:2019/2/3 23:08:00 -- 过年才有空搞这个,真不好意思 |
-- 作者:zhuxinhui -- 发布时间:2019/2/4 0:39:00 -- 自定义录入界面打开后,文本可以根据不同表引用当行某列的值,但是双击窗口的某行时不能带到相对应的表,不知这个条件怎样设? 使用CurrentTable.name 都不行的??? Dim tbl As Table = Tables("P_Table1") If tbl.Current IsNot Nothing Then \'If CurrentTable.name = "B" And tbl.Current IsNot Nothing Then \'Tables("B").Current("C") = tbl.Current("A") \'Else If CurrentTable.name = "现金银行" And tbl.Current IsNot Nothing Tables("D").Current("C") = tbl.Current("A") \'Else \' Tables("S").Current("C") = tbl.Current("A") \'End If End If Forms("P").Close() |
-- 作者:有点甜 -- 发布时间:2019/2/10 13:28:00 -- 参考
http://www.foxtable.com/webhelp/scr/2893.htm
如果不用 droptable,那你在打开窗口之前,记录当前表信息,如
vars("当前表") = e.table |
-- 作者:zhuxinhui -- 发布时间:2019/2/11 18:21:00 -- 使用界面之二可以做到共用窗口 |
-- 作者:有点甜 -- 发布时间:2019/2/11 19:02:00 -- 以下是引用zhuxinhui在2019/2/11 18:21:00的发言: 使用界面之二可以做到共用窗口 如果还有问题,做一个实例发上来测试。
|