Foxtable(狐表)用户栏目专家坐堂 → 窗口输入


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

主题:窗口输入

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
窗口输入  发帖心情 Post By:2015/10/18 20:22:00 [只看该作者]

设计一个订单窗口,输入订单时,输入产品时能够实现类似于自定义录入界面之一的输入方法,

不过自定义录入界面之一介绍的是在表中输入,我的想法是在窗口中实现,该怎么做?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:产品5.zip


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/19 8:11:00 [只看该作者]

窗口输入的问题已经解决,但是还两个问题:1、是在用自定义录入界面之一方法输入时显示的都是已经加载的数据,未加载的数据显示出来,怎么才能显示全部呢;2、在做查询窗口时,例子中的订单主表窗口中查询时,也通过上下页来查找也只能查到已加载的(主表),未加载的查不到。把例子中table换成datatable及load方法也不行,不知道该怎么办了?


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/10/19 9:06:00 [只看该作者]


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 9:14:00 [只看该作者]

方法一:你就先加载全部数据呗;

 

方法二:filter 改成 LoadFilter,然后Load


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/19 11:58:00 [只看该作者]

几万条、几十万条、甚至上百万条全部加载进来是什么概念呀,

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 11:59:00 [只看该作者]

那你就用方法二。

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/19 11:59:00 [只看该作者]

自定义录入界面之一 参照这个帮助里的提示做了,不行呀,

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 11:59:00 [只看该作者]

汗,不可能啊

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/19 12:04:00 [只看该作者]

1、首先在订单表新增一个窗口,窗口类型为模式,窗口插入一个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、公司名称、地址、联系人这四列中,任何一列包括输入内容的行。
注意只有字符列才能使用Like进行模糊筛选,其它列类型是不可以的。

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")
End
if
e.Cancel = True
e.Form.Close()

End
If

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

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

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

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

5、将订单表客户ID列的列表项目设为“|...”最后并将订单表的CellButtonClick事件设为:

If e.Col.Name = "客户Id" Then
e.Cancel =
True
Forms(
"窗口1").Open()
End
If

load方法只在datatable中有用,不支持table,Current而只支持table,没有办法了,我按上述代码试过了不行呀


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 12:06:00 [只看该作者]

无语。

 

Tables().DataTable.LoadFilter = ""

Tables().DataTable.Load


 回到顶部
总数 11 1 2 下一页