以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 过程定义与处理和表格传递 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188147) |
-- 作者:lesei -- 发布时间:2023/9/4 16:37:00 -- 过程定义与处理和表格传递 之前跟您问过给单元格着色的问题,用一个东西存储各个表格需要着色的横竖坐标。 结论是:既不用全局变量传递参数,也不用var,也不用public等,而是用一个表进行存储。 我看到:杂项、高级话题、定义过程,说是定义一个过程,在任何位置都可以调用。 问题: 1.我能不能定义一个过程,把表名、横坐标(行名)、纵坐标(列名)作为参数进行传递,传递给过程,从而实现在任何表的任何事件里对单元格进行着色? 2.表名怎么传递?作为字符串? 我总感觉传递表,是不是把表格的所有数据都传递过去了,这样会造成效率低下啊?那该怎样让“过程”知道该处理哪个表呢?
|
-- 作者:有点蓝 -- 发布时间:2023/9/4 16:46:00 -- 1、没搞懂之前和我讨论啥了?如果是在drawcell事件里调用这个过程,是可以的。 不过个人不建议你这样用,除非是多个表都通用的处理逻辑。否则如果说每个表处理的逻辑,判断的列都不一样,会有大量的if判断等,效率会很低。drawcell事件触发的比较频繁,最好都在每个表自己的drawcell事件里控制。 2、直接传表对象,和传表名都可以。传对象也只是传表对象的内存地址引用而已,不会传递所有数据的。没有哪个编程语言会这样搞。
|
-- 作者:lesei -- 发布时间:2023/9/4 17:10:00 -- 我重说下: 假设经常需要对单元格进行着色。 设定了一个名叫“drawcell参数”的表,存储着色单元格所归属的表名、行、列(如图1)。 每个表的drawcell事件都扫描这个名叫“drawcell参数”的表格里、自己对应的横纵坐标值、进行着色(如图2)。 如上所述,那么经常需要设定表格的横纵坐标。所以,想设定一个“过程”。这样无论在那个事件里,需要对任何单元格着色了,那么通过此“过程”对“drawcell参数”表里对应的值进行设定,就可以完成着色。 同样,需要去除颜色时,就通过“过程”删除对应的表格坐标即可。
[此贴子已经被作者于2023/9/4 17:13:17编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/9/4 17:14:00 -- 看的不是很懂。不如先自己测试,然后出现什么问题在具体提问 |
-- 作者:lesei -- 发布时间:2023/9/4 17:15:00 -- 我刚已经把图片补上了。 但是我只看到了显示该帖子于xxx编辑过,并没看到照片。 如果您看不到照片,留言哈
|
-- 作者:有点蓝 -- 发布时间:2023/9/4 17:43:00 -- http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78 多试几次,重复上传直到编辑区有上传的链接
|