以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于BeforeDrawRow事件的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81736) |
-- 作者:jialihaha -- 发布时间:2016/3/4 15:45:00 -- 关于BeforeDrawRow事件的问题 BeforeDrawRow 这个事件需要表格显示时才会执行绘制,如果表格很长,不滚动下去,代码就不会执行,单元格里都是空的,这样会影响对表格的排序与筛选,有什么更好的方案解决呢? [此贴子已经被作者于2016/3/4 15:46:27编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/3/4 15:48:00 -- 没看懂你意思,具体例子。 |
-- 作者:jialihaha -- 发布时间:2016/3/4 15:53:00 -- 比如订单明细里,有个列是产品ID,但是想要显示一个产品编号,我做法就是加个临时列,这样就得去查找产品表,通过改行的产品ID查找出对应的产品编号,通过绘制方式写进这个临时的产品编号列 |
-- 作者:大红袍 -- 发布时间:2016/3/4 15:56:00 -- 为什么不写到drawcell事件?而且你也可以强制刷新表格的。
Tables("").Refresh |
-- 作者:jialihaha -- 发布时间:2016/3/4 15:59:00 -- drawcell 只能改变显示的文本,而不能写入真实的值,进入单元格后,会是空的 [此贴子已经被作者于2016/3/4 15:59:15编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/3/4 16:01:00 -- 1、写入真实的值应该在datacolchanged事件做;
2、drawcell就只是用来改变样式的,不要赋值。 |
-- 作者:jialihaha -- 发布时间:2016/3/4 16:04:00 -- 你看清楚我说的业务,我是用代码增加的临时列~~~~有个列是产品ID,但是想要显示一个产品编号,我做法就是加个临时列,这样就得去查找产品表,通过该行的产品ID查找出对应的产品编号,写进这个临时的产品编号列 换个订单,明细刷新后,产品ID这一列值从数据库查出来,需要通过这个ID,将对应的产品编号写进临时列
[此贴子已经被作者于2016/3/4 16:06:25编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/3/4 16:06:00 -- 在datacolchanged做有什么问题啊 |
-- 作者:大红袍 -- 发布时间:2016/3/4 16:06:00 -- 一开始,你就可以重置列,或者直接赋值啊。你用drawcell循环的赋值,程序不卡死才怪 |
-- 作者:jialihaha -- 发布时间:2016/3/4 16:07:00 -- 我也没有循环赋值啊,我就是借用BeforeDrawRow 的机制,去绘制显示出来的行
你不可能让用户每次都去重置列吧 [此贴子已经被作者于2016/3/4 16:08:20编辑过]
|