以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于窗口中Table控件的事件先后 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=105943) |
-- 作者:lake163 -- 发布时间:2017/8/29 17:59:00 -- 关于窗口中Table控件的事件先后 窗口中有一个表控件Table1,在CurrentChanged事件中,对新选中的行进判别,符合一定条件的就打开一个新窗口。 但是现在这个新窗口的打开,在还未完全选中新行时就发生了。换用PositionChanged仍然如此。 甚至于,在第一行就符合条件的情况下,表中数据还未显示,这个窗口就打开了。 请问如何能使新窗口的打开在完全选中新的行后再执行啊?
[此贴子已经被作者于2017/8/29 18:01:29编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/8/29 18:01:00 -- 1、你可以用click事件;
2、你打开窗口获取当前行获取不到?具体说一下你的功能。 |
-- 作者:lake163 -- 发布时间:2017/8/29 18:06:00 -- 1、现CurrentChanged事件代码(简化) vars("sm") = e.Table.Current("分类说明") If vars("sm") IsNot Nothing If vars("sm") <> "" Forms("PPT说明").open End If End If 这样,当新的行分类说明列有内容是,就弹出新窗口提示。 2、问题: (1)表控件设置了选中行的背景、字体。发现:移到新行时,背景、字体还未变化,就弹出了新窗口。 (2)如果第一行就符合条件,则在表控件还未显示数据时,就弹出了新窗口。 (3)使用Click事件不太符合操作需要,很多时候没有执行Click ,如通过按纽移动等。 [此贴子已经被作者于2017/8/29 18:08:48编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/8/29 18:11:00 -- 可以写到AfterSelChanged事件也行。 |
-- 作者:lake163 -- 发布时间:2017/8/30 8:46:00 -- 使用主表的AfterSelChanged事件,效果与CurrentChanged事件一样,改用AfterSelRangeChange事件后,基本上能解决问题,即在选中行后再弹出窗口。 但是:表控件中无此事件,需在主表事件中设置,又导致在主表中也会弹出窗口。 请问:如何直接设置窗口副本表的AfterSelRangeChange事件?
|
-- 作者:有点甜 -- 发布时间:2017/8/30 8:47:00 -- 判断表名 If e.Table.Name = "窗口1_Table1" Then |
-- 作者:lake163 -- 发布时间:2017/8/30 9:32:00 -- 谢谢! |