Foxtable(狐表)用户栏目专家坐堂 → “必须为非负值并小于集合大小”是怎么回事?怎么解决?


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

主题:“必须为非负值并小于集合大小”是怎么回事?怎么解决?

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


加好友 发短信
等级:三尾狐 帖子:704 积分:7058 威望:0 精华:0 注册:2012/11/4 23:10:00
“必须为非负值并小于集合大小”是怎么回事?怎么解决?  发帖心情 Post By:2014/4/1 17:44:00 [显示全部帖子]

我在BeforeSelRangeChangeAfterSelRangeChange设置事件,选择范围改变均没问题,在用了表事件,keydown后(空格),提示“必须为非负值并小于集合大小”,提示错误事件在BeforeSelRangeChangeAfterSelRangeChange中,这怎么解决?


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


加好友 发短信
等级:三尾狐 帖子:704 积分:7058 威望:0 精华:0 注册:2012/11/4 23:10:00
  发帖心情 Post By:2014/4/2 8:20:00 [显示全部帖子]

两个事件都加了判断的,还是会出现这种情况,before码如下:

If CurrentTable.RowSel < 0 OrElse CurrentTable.ColSel < 0 Then
     Return
End If

For Each r As Row In Tables("原始数据").GetCheckedRows
    r.Checked =False
Next

 

after代码如下:

 

If CurrentTable.RowSel < 0 OrElse CurrentTable.ColSel < 0 Then
    Return
End If
MessageBox.Show(1)
For i As Integer = CurrentTable.TopPosition To CurrentTable.BottomPosition
    CurrentTable.Rows(i).Checked = True
Next
MessageBox.Show(2)
With e.NewRange
    StatusBar.Message2 = CurrentTable.TopRow & "," & CurrentTable.LeftCol & " " & CurrentTable.BottomRow & "," & CurrentTable.RightCol & "  共选择" & cstr(CurrentTable.BottomPosition-CurrentTable.TopPosition+1) & "行"
End With


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


加好友 发短信
等级:三尾狐 帖子:704 积分:7058 威望:0 精华:0 注册:2012/11/4 23:10:00
  发帖心情 Post By:2014/4/2 17:48:00 [显示全部帖子]

如例子,先选择部分区域后,使用表快捷键ALT+S,然后再点击表,则会报错,请帮忙看看!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


 回到顶部