Foxtable(狐表)用户栏目专家坐堂 → [求助] 3层父子关系放到窗口里显示不出来?


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

主题:[求助] 3层父子关系放到窗口里显示不出来?

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


加好友 发短信
等级:婴狐 帖子:53 积分:415 威望:0 精华:0 注册:2014/3/29 23:05:00
  发帖心情 Post By:2015/3/28 14:25:00 [只看该作者]

版主,我问的不是这个意思,这个问题已经在你前面的帖子里完美解决了。

现在窗口里有三个表,爸爸表(副本),爸爸.儿子表(正本),儿子.孙子表(正本)

通过爸爸副本表时间currentchanged里编辑current/position等代码,已经能实现爸爸副本表与爸爸.儿子表联动。

现在我想选定某个儿子的时候,对应的孙子们行也能在“儿子.孙子”表里联动显示,但是“爸爸.儿子”表没有事件编程,这个怎么实现呢?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/28 14:26:00 [只看该作者]

关闭窗口,点击 爸爸.儿子表.  点表属性-事件

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


加好友 发短信
等级:婴狐 帖子:53 积分:415 威望:0 精华:0 注册:2014/3/29 23:05:00
  发帖心情 Post By:2015/3/28 14:28:00 [只看该作者]

在哪可以对关联表"爸爸.儿子"表的currentchanged事件编程?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/28 14:28:00 [只看该作者]

看12楼

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/3/28 14:31:00 [只看该作者]

就在子表的主表设定,判断e.table.name,就知道是主表还是还是关联表。

例如你要针对Tables("订单.订单明细")设置CurrentChanged事件,就应该在直接在“订单明细”的Currentchanged事件设置。

 

if e.table.Name = "订单明细" then

 

elseif e.table.name = "订单.订单明细" then 

 

end if


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


加好友 发短信
等级:婴狐 帖子:53 积分:415 威望:0 精华:0 注册:2014/3/29 23:05:00
  发帖心情 Post By:2015/3/28 14:59:00 [只看该作者]

谢谢版主,根据你的提示,倒是找到个解决办法,在爸爸,儿子,孙子,三个表里的 “儿子表” 属性的事件中,currentchanged里,写了以下代码:

If Forms("xx窗口").Opened Then
    Dim dr As DataRow = Tables("爸爸.儿子").Current.DataRow
    Dim wz As Integer = Tables("爸爸.儿子").FindRow(dr)
    If wz >=0 Then
        Tables("爸爸").Position = wz
    End If
End If

但又有个问题,每次预览窗口,会出现一个提示,


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150328145430.jpg
图片点击可在新窗口打开查看

注:图片中的“WBS表.currentChanged”,这个“WBS表”就是我说的儿子表,便于理解

还有个问题就是在窗口的“爸爸.儿子”表里,点多几次就会出现foxtable死机。

问题:

1. 这个死机是怎么造成的?
2. 如果为了避免图片中的提示,不在爸爸表的表属性currentchanged里写代码,在哪写更好?我试过项目属性afteropenproject,也试过表属性afterload,也试过窗口的属性,都不行。

谢谢版主解答。

[此贴子已经被作者于2015/3/28 15:00:20编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/28 15:01:00 [只看该作者]

If Forms("xx窗口").Opened Then
    if Tables("爸爸.儿子").Current isnot nothing then
    Dim dr As DataRow = Tables("爸爸.儿子").Current.DataRow
    Dim wz As Integer = Tables("爸爸.儿子").FindRow(dr)
    If wz >=0 Then
        Tables("爸爸").Position = wz
    End If
   end if
End If

搞不定上例子

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


加好友 发短信
等级:婴狐 帖子:53 积分:415 威望:0 精华:0 注册:2014/3/29 23:05:00
  发帖心情 Post By:2015/3/28 15:24:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:erosbase_试用版开发.table


“错误提示”的问题已经已经搞定,应该是current为空造成。

但是点击几次后死机还存在,请版主帮忙看看附件的例子。

点开“WBS窗口”后,在左下角的“预算明细”处的“项目信息.WBS表”,预览窗口后,快速点击里面的信息,会出现foxtable死机的现象,求破。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/28 15:29:00 [只看该作者]

建议你用模拟关联的方式

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


加好友 发短信
等级:婴狐 帖子:53 积分:415 威望:0 精华:0 注册:2014/3/29 23:05:00
  发帖心情 Post By:2015/3/28 15:32:00 [只看该作者]

嗯,我试试,可是死机的原因是什么呢?

 回到顶部
总数 24 上一页 1 2 3 下一页