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


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

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

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


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望: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表会闪烁,不知一般情况下是什么原因?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/4 23:13:00 [只看该作者]

  看是不是这个问题?

 

If e.IsFocusCell Then
    Tables("A.B").visiable = e.Row("Istree") = True
End If


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


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望: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编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/5 22:30:00 [只看该作者]

 不解你为什么一定要在这个事件些这个东西。

 

 你可以判断一下关联表是否有数据,在执行这句代码的  Tables("TbWPC.TbWL").Visible 


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


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望: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编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/5 22:41:00 [只看该作者]

 我测试了一个例子,发觉只是 false 和 true 切换的时候才会闪一下的。

 

 你可以停止重绘一下 http://www.foxtable.com/help/topics/0401.htm

 


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


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望: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


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


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

参考6楼的方法试试.

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/6 8:58:00 [只看该作者]

也许,关联表实际应该在一个窗口中,没法控制这个窗口停止绘制,恢复绘制。

所以就不停的闪啊闪。


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


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/3/6 10:09:00 [只看该作者]

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

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