Foxtable(狐表)用户栏目专家坐堂 → 请教个问题,谢谢


  共有2258人关注过本帖树形打印复制链接

主题:请教个问题,谢谢

帅哥哟,离线,有人找我吗?
firecho
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:365 威望:0 精华:0 注册:2018/9/1 17:23:00
请教个问题,谢谢  发帖心情 Post By:2018/9/18 11:32:00 [只看该作者]

我在全局定义了一个集合变量fp,里面存储的内容对应着开具fa piao金额,最终需要和对应的付款金额比较并根据结果改变单元格字体颜色。

在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

请大神们给分析下具体原因和如何改正,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:365 威望:0 精华:0 注册:2018/9/1 17:23:00
  发帖心情 Post By:2018/9/18 11:51:00 [只看该作者]

谢谢,可还是没明白为什么,e.row.index会超过集合数量吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/18 11:57:00 [只看该作者]

以下是引用firecho在2018/9/18 11:51:00的发言:
谢谢,可还是没明白为什么,e.row.index会超过集合数量吗?

 

不清楚。但判断必须加上。你fp集合赋值有可能在drawcell事件执行之后。


 回到顶部