以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]下拉窗口打开前会执行哪里的代码? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102907) |
-- 作者:ajie5211 -- 发布时间:2017/6/27 15:33:00 -- [求助]下拉窗口打开前会执行哪里的代码? 我现在的系统下拉窗口打开很慢,自己随便做个速度并不慢,下拉窗口打开前会执行哪里的代码哪?我要从哪里开始排查比较好哪? |
-- 作者:有点色 -- 发布时间:2017/6/27 16:28:00 -- 看看你窗口的AfterLoad、DropDownOpening、DropDownOpened事件。 |
-- 作者:ajie5211 -- 发布时间:2017/6/27 17:59:00 -- 以下是引用有点色在2017/6/27 16:28:00的发言:
看看你窗口的AfterLoad、DropDownOpening、DropDownOpened事件。 相同窗口,相同事件,在我随便做的样例里并不慢。我现在的系统里,有在CurrentTableChanged事件中写如下的代码 Vars("SysUpdatePrintInfo") = True \'***************自定义代码**************
|
-- 作者:ajie5211 -- 发布时间:2017/6/27 18:00:00 -- 现在慢的窗口就是“仓库名称下拉”,本来想把我这个菜单加到例子上看会不会慢的,结果导入模板,直接报错了。版主让我找客服恢复,本就是做例子的程序,我倒没有急着去恢复。 |
-- 作者:有点色 -- 发布时间:2017/6/27 18:46:00 -- 1、去掉代码后速度是否变快?
2、把相关表的事件代码都删除后测试。 |
-- 作者:ajie5211 -- 发布时间:2017/6/27 19:33:00 -- 以下是引用有点色在2017/6/27 18:46:00的发言:
1、去掉代码后速度是否变快?
2、把相关表的事件代码都删除后测试。 去掉CurrentTableChanged事件中的代码后,速度就快了,这个代码如何优化,或是在有下拉时不让生效哪? |
-- 作者:有点蓝 -- 发布时间:2017/6/27 20:23:00 -- CurrentTableChanged是经常会触发的,这种情况就没有必要使用动态连接数据库了,直接设置数据源,然后把这个表的数据加载进来操作。 动态连接数据库,sqltable,sqlfind,sqlcommand等等这些用法不要滥用,该加载使用的还是要加载。过犹不及!
|
-- 作者:ajie5211 -- 发布时间:2017/6/28 7:35:00 -- 以下是引用有点蓝在2017/6/27 20:23:00的发言:
CurrentTableChanged是经常会触发的,这种情况就没有必要使用动态连接数据库了,直接设置数据源,然后把这个表的数据加载进来操作。 动态连接数据库,sqltable,sqlfind,sqlcommand等等这些用法不要滥用,该加载使用的还是要加载。过犹不及! SQLFind改成了FInd,但下拉打开时仍有很明显的延迟。是不是在打开下拉窗口时,他先去其它地方执行了一圈?打开下拉时,如何关掉这个事件? |
-- 作者:有点色 -- 发布时间:2017/6/28 8:24:00 -- CurrentTableChanged 事件判断。
If currentTable.Name = "你下拉窗口表名" Then msgbox("进入了") Return End If
\'原本的其余的代码。 |
-- 作者:ajie5211 -- 发布时间:2017/6/28 8:53:00 -- 这样写不行。我这里最早是这样写的,没有用,后来我改成了现在这样还是不行,"仓库名称下拉_Table1"是我现在的下拉窗口里的表名。 Dim tname() As String = {"仓库名称下拉_Table1","在单量详情_Table1","金属同族库存详情_Table1","带条件的料号选择_Table1","带条件的料号选择_Table2","料号选择单选_Table1"} end if 具体的可以看我3楼的代码。 [此贴子已经被作者于2017/6/28 8:56:02编辑过]
|