以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]opento的时候,界面闪烁 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115915) |
||||
-- 作者:chnfo -- 发布时间:2018/3/16 15:08:00 -- [求助]opento的时候,界面闪烁 界面上有两个窗口。A是共用窗口,用来导航。B是业务窗口(它是停靠窗口,假如属于表X,窗口中绑定表Y),用来指引显示主表数据。 在A中选择不同的导航菜单时, 1、 forms("B").opento("要切换到的主表") ;要切换到不同的主表---maintable = tables("要切换到的主表"); 2、主表显示的数据要根据B窗口中的行过滤。即maintable.filter = “XID= ‘” & forms("B").controls("table1").table.current("ID") 问题是:切换导航菜单时,如果要切换到不同的主表,界面会闪烁。 有什么解决方案?
[此贴子已经被作者于2018/3/16 15:09:33编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/3/16 15:12:00 -- 1、先opento,再切换到对应的mainTable;
2、闪烁的问题,做个例子看看,看能否处理。 |
||||
-- 作者:chnfo -- 发布时间:2018/3/16 15:56:00 -- 几乎没有什么逻辑的切换,都会闪。
BCD间切换,会闪。 DE间切换不会闪(因为它们的maintable 是一样的)
[此贴子已经被作者于2018/3/16 15:58:01编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/3/16 16:05:00 -- 延时
Select Case e.Link.Name |
||||
-- 作者:chnfo -- 发布时间:2018/3/16 16:15:00 -- 倒是一种方式,就是设的时间太短了,还是象闪烁。 时间长了,就象系统卡顿
|
||||
-- 作者:有点甜 -- 发布时间:2018/3/16 16:40:00 -- 测试了一下,没找到办法。你只能用4楼的方式处理了。
不然你就把窗口A弄成主窗口,里面放两个table控件。 |
||||
-- 作者:chnfo -- 发布时间:2018/3/16 17:24:00 -- 另外,即使用你所说的方法,有两个问题 1、卡顿是明显的。 2、例如导航菜单从B切换到C的时候,首先,界面会停顿一下,然后窗口B会关闭,然后当前主表会占满全屏;然后窗口B会打开,然后显示新的主表。这个实际效果是比较差的。 但是,如果把窗口B与主表内容合成一个,那要做的窗口就多了很多呀。 本来就是想尽量利用主表,少设计窗口,看来是不行了 这么看来,opento的功能有点鸡肋了
[此贴子已经被作者于2018/3/16 17:25:52编辑过]
|
||||
-- 作者:chnfo -- 发布时间:2018/3/16 17:40:00 -- 不过,跟导航窗口合并到一个页面上,用split控件,在导航的link切换时,再控制它是否显示,也不失为一个方法 |
||||
-- 作者:有点甜 -- 发布时间:2018/3/16 17:42:00 -- 窗口B只需要做一个,你点击导航的时候,动态绑定成不同的表,不就好了?
如果确实要用你自己的方法,为什么要弄成停靠?不能弄成共有,然后隐藏起来的形式? |
||||
-- 作者:chnfo -- 发布时间:2018/3/17 8:50:00 -- 因为有些界面要显示主表和子表,有些界面只显示主表,用动态绑定表的方式,还要用模拟关联表,也要用split控件,控制显隐,代码工作量也不小。 如果把B窗口设为共有,问题是导航窗口A已经是共有了,两个共有窗口都放左边,不得行呀 所以,A窗口放导航控件和表,可能还合适点 要是两个共有窗口能并列在左边且同时显示就简单了 [此贴子已经被作者于2018/3/17 8:58:54编辑过]
|