Foxtable(狐表)用户栏目专家坐堂 → 索引不为负数就是大于行数的错误?


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

主题:索引不为负数就是大于行数的错误?

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
索引不为负数就是大于行数的错误?  发帖心情 Post By:2013/12/2 11:11:00 [只看该作者]

先在按钮中用  dr.Remove '移除了某行后表事件CurrentChanged在执行到自动行高这里就出现了索引超出的错误,如下图:
Tables("表A").AutoSizeRows()  '自动设置行高

图片点击可在新窗口打开查看此主题相关图片如下:360截图20131202110254364.jpg
图片点击可在新窗口打开查看

用了有一段时间都是正常的,突然出现这个,请问是什么原因?谢谢!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/2 11:18:00 [只看该作者]

上代码.或者例子. 纸上谈兵帮不上你.

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/12/2 14:45:00 [只看该作者]

代码这是这样currentchanged事件:

Dim t As Table = e.Table
If t.Current Is Nothing Then
    Return
Else
    If t.name = Mtb & "_主表" Then '如果选中的是主表
        Tables(Mtb & "_主表").AutoSizeRows()  '自动设置行高
        
        '选择不同主表行时筛选子表明细
        If Ctb > "" Then
            If Tables(Mtb & "_主表").rows.count > 0 Then '如果主表有数据
                Dim flt As String = Rcol & " = '" & Tables(Mtb & "_主表").Current(Rcol) & "'"
                Tables(Mtb & "_明细").Filter = flt
            End If
            Tables(Mtb & "_明细").AutoSizeRows() '自动设置行高
        End If
    End If
End If

图片点击可在新窗口打开查看此主题相关图片如下:360截图20131202144316530.jpg
图片点击可在新窗口打开查看

如果在上方的主表只有一行或者多行时选择的是最后一行,然后用菜单上的移除按钮移除所选行后就出现这个问题了。如果有多行选择的不是最后一行则没有问题。
请问要怎么避免?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/2 14:49:00 [只看该作者]

建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错,然后分析原因,搞不定上例子.

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/12/2 15:06:00 [只看该作者]

重做了个简单的例子但又没法重现问题,我想主要就是移除行后还是用那行执行自动行高出错?
就是自动行高这里‘如果注释掉就没有问题;
Tables(Mtb & "_主表").AutoSizeRows()  '自动设置行高

同时还出现奇怪的现象,如果把全局表事件drawcell的开关设为false就没问题,设为true即使drawcell事件里没有写任何代码也出现这个问题

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/2 15:10:00 [只看该作者]

这么神奇,没办法重现错误的话,这个很难帮到你啊.

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/12/2 17:17:00 [只看该作者]

他的代码也没有全部贴出来,只有他自己知道为什么!


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


加好友 发短信
等级:三尾狐 帖子:659 积分:4686 威望:0 精华:0 注册:2013/6/11 17:51:00
  发帖心情 Post By:2013/12/2 17:42:00 [只看该作者]

你移除后保存一下

 回到顶部