以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教个问题,谢谢 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125015) |
-- 作者:firecho -- 发布时间:2018/9/18 11:32:00 -- 请教个问题,谢谢 我在全局定义了一个集合变量fp,里面存储的内容对应着开具发票金额,最终需要和对应的付款金额比较并根据结果改变单元格字体颜色。 在drawcell时间中的代码如下: If e.Col.name = "付款金额" Then If e.Row(e.Col.name)> fp(e.Row.index) Then e.style = "RED" Else e.style = "GREEN" End If End If 执行代码后没有什么问题,但是随着表内数据行的增加会随机出现(并非每次增加行都会出现)错误! 错误所在事件:表,拨款_Table2,DrawCell 详细错误信息: 调用的目标发生了异常。 索引超出范围。必须为非负值并小于集合大小。 参数名: index 请大神们给分析下具体原因和如何改正,谢谢!
|
-- 作者:有点甜 -- 发布时间:2018/9/18 11:37:00 -- If e.Col.name = "付款金额" Then If fp.count > e.Row.Index Then If e.Row(e.Col.name)> fp(e.Row.index) Then e.style = "RED" Else e.style = "GREEN" End If End If End If |
-- 作者:firecho -- 发布时间:2018/9/18 11:51:00 -- 谢谢,可还是没明白为什么,e.row.index会超过集合数量吗? |
-- 作者:有点甜 -- 发布时间:2018/9/18 11:57:00 -- 以下是引用firecho在2018/9/18 11:51:00的发言:
谢谢,可还是没明白为什么,e.row.index会超过集合数量吗?
不清楚。但判断必须加上。你fp集合赋值有可能在drawcell事件执行之后。 |