Foxtable(狐表)用户栏目专家坐堂 → [求助]怎么判断表事件在哪个窗口中发生的。


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

主题:[求助]怎么判断表事件在哪个窗口中发生的。

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


加好友 发短信
等级:婴狐 帖子:31 积分:268 威望:0 精华:0 注册:2013/4/14 11:40:00
[求助]怎么判断表事件在哪个窗口中发生的。  发帖心情 Post By:2013/5/29 9:59:00 [只看该作者]

我在表事件positonChanged中写了代码,希望选中某行时,将值填充相应窗口的控件中,而不想用绑定的方法实现,但是表在不同的位置时会出错,比如在窗口中又不会出错,搞不懂了!怎么判断表事件在哪个窗口中发生的?
positonChanged中:
Dim dl As WinForm.TextBox = Forms("物资类别管理窗口").Controls("TextBox1")
Dim dlm As WinForm.TextBox = Forms("物资类别管理窗口").Controls("TextBox2")
dl.Text=e.Table.Current("大类ID")
dlm.Text=e.Table.Current("大类名称")

If e.Table.Current Is Nothing Then '如果Current为Nothing
    dl.Text=""
    dlm.Text=""'没有选定行时执行的代码
Else
    dl.Text=e.Table.Current("大类ID")
    dlm.Text=e.Table.Current("大类名称")
End If

[此贴子已经被作者于2013-5-29 10:06:06编辑过]

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


加好友 发短信
等级:婴狐 帖子:31 积分:268 威望:0 精华:0 注册:2013/4/14 11:40:00
  发帖心情 Post By:2013/5/29 10:07:00 [只看该作者]

这是附件
[此贴子已经被作者于2013-5-29 10:07:25编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/5/29 10:08:00 [只看该作者]

以下是引用狐生在2013-5-29 9:59:00的发言:
我在表事件positonChanged中写了代码,希望选中某行时,将值填充相应窗口的控件中,而不想用绑定的方法实现,但是表在不同的位置时会出错,比如在窗口中又不会出错,搞不懂了!怎么判断表事件在哪个窗口中发生的?
positonChanged中:
Dim dl As WinForm.TextBox = Forms("物资类别管理窗口").Controls("TextBox1")
Dim dlm As WinForm.TextBox = Forms("物资类别管理窗口").Controls("TextBox2")
dl.Text=e.Table.Current("大类ID")
dlm.Text=e.Table.Current("大类名称")

If e.Table.Current Is Nothing Then '如果Current为Nothing
    dl.Text=""
    dlm.Text=""'没有选定行时执行的代码
Else
    dl.Text=e.Table.Current("大类ID")
    dlm.Text=e.Table.Current("大类名称")
End If

你第一第二行限定了你这个表只能在这个窗口打开的时候才能正常工作

[此贴子已经被作者于2013-5-29 10:09:12编辑过]

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


加好友 发短信
等级:婴狐 帖子:31 积分:268 威望:0 精华:0 注册:2013/4/14 11:40:00
  发帖心情 Post By:2013/5/29 10:09:00 [只看该作者]

怎么发不上来呢??
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:我的练习.rar


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


加好友 发短信
等级:婴狐 帖子:31 积分:268 威望:0 精华:0 注册:2013/4/14 11:40:00
  发帖心情 Post By:2013/5/29 10:11:00 [只看该作者]

可是在自己设计的窗口表中没有这个事件啊

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/5/29 10:19:00 [只看该作者]

你这张表在哪里?你这张表最好是设计在这个窗口中,才能保证该事件正常工作

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


加好友 发短信
等级:六尾狐 帖子:1418 积分:7167 威望:0 精华:0 注册:2013/3/18 8:37:00
  发帖心情 Post By:2013/5/29 10:20:00 [只看该作者]

窗口表继承所有表者的事件,在所以表者设置了就可以了

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


加好友 发短信
等级:六尾狐 帖子:1418 积分:7167 威望:0 精华:0 注册:2013/3/18 8:37:00
  发帖心情 Post By:2013/5/29 10:22:00 [只看该作者]

你打开窗口选择行不是正常吗,你在表了选择会报错,因为你没有打开窗口

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/29 10:23:00 [只看该作者]

If Forms("物资类别管理窗口").Opened
    Dim dl As WinForm.TextBox = Forms("物资类别管理窗口").Controls("TextBox1")
    Dim dlm As WinForm.TextBox = Forms("物资类别管理窗口").Controls("TextBox2")
    dl.Text=e.Table.Current("大类ID")
    dlm.Text=e.Table.Current("大类名称")
   
    If e.Table.Current Is Nothing Then '如果Current为Nothing
        dl.Text=""
        dlm.Text=""'没有选定行时执行的代码
    Else
        dl.Text=e.Table.Current("大类ID")
        dlm.Text=e.Table.Current("大类名称")
    End If
End If

 

建议:做例子提问的时候,不需要附加这么大的一个数据库,用内部表做个简单的例子就行,因为别人下载需要时间,也浪费服务器资源。

[此贴子已经被作者于2013-5-29 10:22:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
学会了就买开发版
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:30 积分:318 威望:0 精华:0 注册:2013/5/29 10:13:00
  发帖心情 Post By:2013/5/29 10:41:00 [只看该作者]

我也是刚刚在帮助中找到答案

5、关闭窗口设计器,回到产品表,打开表属性设置窗口,将其CurrentChanged事件代码设为:

If Forms("窗口1").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim
 t As Table = Tables("窗口1_Table1"
)
    With
 Tables("产品"
)
        If
 .Current Is Nothing 
Then
            t.Filter = 
"False"
        
Else
            t.Filter = 
"产品编号 = " & .Current("产品编号")
        End
 
IF
    
End With
End
 If


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