以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 类似全局窗口的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54213)
|
-- 作者:zpx_2012
-- 发布时间:2014/7/23 20:33:00
-- 类似全局窗口的问题
此主题相关图片如下:360截图20140723201102996.jpg
如上图:项目中的所有表单的统计报表都是相同的窗口,窗口就只有一个SQLtable表,afterload及窗口中的控件的代码全部都是通过相同的函数执行的。代码中用到的全局变量及sql语句都是保存在一个后台表中的。打开窗口时根据不同的窗口名称调用sql代码生成查询表绑定到sqltable就可以了。
我现在的方法是设计好这个窗口后,用它复制生成其他窗口即可。这样的问题是,每次需要改动时,哪怕一个小小的修改,我也要到每个窗口中去修改,或者又要删除原来的窗口全部重新复制生成。因为几十个窗口每次修改都很繁琐。
有没有类似全局表事件那样的全局窗口设计方法,想请教各位老师:
能否只设计一个窗口,然后通过导航中的目录树节点打开它时窗口名称就自动变成目录树节点的名称。这样就可以通用了。
谢谢!
|
-- 作者:有点甜
-- 发布时间:2014/7/23 20:39:00
--
木有全局窗口事件。
如果是事件的问题,你可以指定每个事件的代码对应去到哪个自定义函数执行,这样,要修改代码,就直接去修改函数即可。
如果你想只设计一个窗口,也是可以的,目录树你可以根据变量生成,点击的代码,对应也可以根据变量去控制啊。
|
-- 作者:zpx_2012
-- 发布时间:2014/7/23 21:03:00
--
现在这个窗口的事件代码全部都是通用函数执行已经是没有问题的,只是一直没弄明白,比如这个设计好的窗口名称是“统计窗口” 在导航的目录树下面已经有“订单统计”,“采购统计”等节点,
点击“订单统计”时先将这个统计窗口的名称变为“订单统计”才能打开,因为窗口打开的afterload中的代码必须要按“订单统计”调用才能正确加载数据,再次点击采购统计时又按采购统计打开一个新的窗口加载对应的数据。可以分别打开无数个这样类似的窗口。
即点击“订单统计”时要如何把“统计窗口”这个模板窗口的名称先变为“订单统计”再打开为一个新的窗口?
|
-- 作者:有点甜
-- 发布时间:2014/7/23 21:11:00
--
呃……
1、你设计窗口的时候,就应该把窗口名称给修改了才对;
2、你可以不按照窗口的名称加载数据,你可以按照点击的节点的信息加载数据。
|
-- 作者:zpx_2012
-- 发布时间:2014/7/23 21:22:00
--
我的意思是项目中也只设计一个“统计窗口”而已,其他窗口都不存在,是通过打开这个“统计窗口”时动态生成的,占击不同的节点就通过“统计窗口”生成不同的新窗口。而且在不关闭前一个的情况下可以打开无数的不同的窗口。
|
-- 作者:逛逛
-- 发布时间:2014/7/23 21:28:00
--
出个馊主意
试试看在每一个窗口中加入一个TextBox,用他的ValueChanged 或 TextChanged 事件来选择触发函数
打开窗口——TextBox赋值(函数名称)——全局事件——是规定类型的控件——是规定名称的控件——执行函数
|
-- 作者:有点甜
-- 发布时间:2014/7/23 21:29:00
--
以下是引用zpx_2012在2014-7-23 21:22:00的发言:
我的意思是项目中也只设计一个“统计窗口”而已,其他窗口都不存在,是通过打开这个“统计窗口”时动态生成的,占击不同的节点就通过“统计窗口”生成不同的新窗口。而且在不关闭前一个的情况下可以打开无数的不同的窗口。
没有办法拷贝一个窗口生成新的窗口。
你可以换一种思路,生成一个窗口,然后用代码创建各个控件,然后绑定事件,这样就比较麻烦了。
|
-- 作者:逛逛
-- 发布时间:2014/7/23 21:30:00
--
以下是引用zpx_2012在2014-7-23 21:22:00的发言:
我的意思是项目中也只设计一个“统计窗口”而已,其他窗口都不存在,是通过打开这个“统计窗口”时动态生成的,占击不同的节点就通过“统计窗口”生成不同的新窗口。而且在不关闭前一个的情况下可以打开无数的不同的窗口。
俺理解错误,
俺也想要
|
-- 作者:zpx_2012
-- 发布时间:2014/7/23 21:41:00
--
那还是只能按我现在的方式了,只是统计窗口要修改增加控件或功能后保存为模板,又必须打开每个窗口重新按这个模板生成就可以。只是繁琐点。本想偷个懒,看来还是不行。谢谢大家了。
只是有点纳闷,为什么这么多的窗口里面的代码全部都一样,只是窗口名称不同而已,却没有简化的办法!
[此贴子已经被作者于2014-7-23 21:45:09编辑过]
|