Foxtable(狐表)用户栏目专家坐堂 → [求助]关联表输入数据时会闪烁


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

主题:[求助]关联表输入数据时会闪烁

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18081 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]关联表输入数据时会闪烁  发帖心情 Post By:2014/3/4 22:49:00 [显示全部帖子]

我今天忘了带加密狗回来,没法上传文件,先提一下问题。

我有两个表A和B。
A表里有PID,ID,V、IsTree(逻辑型)四 个字段,B表里有PID,AID,V三个字段。
AB通过PID-PID,以及ID-AID关联。关联方式为单向。

A表里的金额V要合计B表的V,但不是用表达式算的,因为A表中的V还有其它地方要引用。

A表的prepareedit事件中写的代码意思
tables("A.B").visiable = e.row("Istree") = true  '意即如果当前行的istree=false时,关联表不显示

但我在A表中切换行时,A.B表会闪烁,不知一般情况下是什么原因?


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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18081 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/3/5 22:06:00 [显示全部帖子]

我观察了一下,如果A.B没有数据行的时候,表A切换行时就会闪烁。

我去掉了A和B表所有的事件,就留下了表A的

表事件

 

A_PrepareEdit

 

'If e.IsFocusCell Then

'    Tables("A.B").Visible =  e.Row("Tree") = True

'End If

 

If e.Table.Current IsNot Nothing Then

    Tables("A.B").Visible =   e.Row("Tree") = True

End If


不管用上面的哪一部分代码,仍然在表A切换行时闪烁。即使表A中的连续多行的 Tree = true



[此贴子已经被作者于2014-3-5 22:30:02编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18081 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/3/5 22:35:00 [显示全部帖子]

Tables("A.B").Visible 是否 = true
并不取决于A.B是否有数据,而是取决于表A的row("tree") = true 

本意是:如果表A的row("tree") = true ,就可以在表A.B中增加行。

本来呢,可以让表A.B一直显示,但如果表A的row("tree") = 0,就不让用户在表A.B中增加行;否则就允许增加行

但这样做,还要多解释一番:既然不让增加行,就不显示出来不是更好。所以就整成这样子了。
[此贴子已经被作者于2014-3-5 22:37:05编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18081 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/3/6 0:17:00 [显示全部帖子]

本意:A和B两个表单向关联。
当A表中增加行的时候,自动在B表中增加行。

当A表的tree = true时,显示出A.B表,但自动增加的行不显示出来(自动增加的行在其它地方有用)。
然后可以在A.B表中增加行。

试着做了一下之后,发现A行在切换时,A.B表总是闪烁,请问如何解决之?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:屏幕闪烁.rar


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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18081 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/3/6 10:09:00 [显示全部帖子]

唉,各种方法都试了一遍,没法控制它不闪,还请各位不吝赐教,谢谢 再观察,这个闪好象是随机的,并无规律
[此贴子已经被作者于2014-3-6 10:33:47编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18081 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/3/6 19:08:00 [显示全部帖子]

看了这一节的帮助,加了stopredraw和ResumeRedraw事件,有一点变化。

A.B如果没有空行的时候,会不闪。但如果是空行,还是会闪。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:屏幕闪烁.rar


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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18081 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/3/7 9:28:00 [显示全部帖子]

有没有隐藏某一行的方法?如果有,是否可以在切换主表行时,关联表隐藏符合条件的行,关联窗口可能就不闪了

 回到顶部