以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 排序导致索引出错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=195683) |
-- 作者:yqiushyqiush -- 发布时间:2025/2/28 15:12:00 -- [求助] 排序导致索引出错 请问:在表事件AfterSelRangeChange,输入以下代码: With Tables("申请表") Dim i As Integer = .BottomPosition - .Position + 1 If i > 1 Then StatusBar.Message2 = " 共选定 " & i & " 行" Else StatusBar.Message2 = "" End If End With 总是在打开项目时出现错误信息: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2025.1.3.1 错误所在事件:申请表,AfterSelRangeChange 详细错误信息: 索引超出范围。必须为非负值并小于集合大小。 参数名: index 关掉错误信息项目可以正常打开,状态栏也可以正常显示选定行数,如何避免出现错误信息?表格没有做分组处理 [此贴子已经被作者于2025/2/28 16:19:37编辑过]
|
-- 作者:y2287958 -- 发布时间:2025/2/28 15:16:00 -- 判断排除一下没有焦点的状态 If e.IsFocusCell
Then
\'如果是焦点所在单元格 |
-- 作者:yqiushyqiush -- 发布时间:2025/2/28 16:01:00 -- 找到原因了,AfterOpenProject事件中去掉Tables("消耗品采购申请表").Sort = "申购日期"这行代码即可,但是这行排序代码我想保留,请问如何解决? |
-- 作者:有点蓝 -- 发布时间:2025/2/28 16:36:00 -- 不能保留。排序会导致多行选中无效 |
-- 作者:yqiushyqiush -- 发布时间:2025/2/28 17:23:00 -- 好吧,另外,还发现一个问题,从上往下选定多行可以正常统计选择行数,从下网上没有显示,有办法解决吗? |
-- 作者:有点蓝 -- 发布时间:2025/2/28 17:33:00 -- 改为 Dim i As Integer = .BottomPosition - .TopPosition + 1
|
-- 作者:yqiushyqiush -- 发布时间:2025/2/28 17:53:00 -- 可以了,谢谢蓝版主! |
-- 作者:yqiushyqiush -- 发布时间:2025/3/5 13:36:00 -- 再追问一个疑问,系统自带的状态栏右侧数据统计功能,无论是否排序,都不会出现错误信息,是做了什么处理?能引用这个功能吗? |
-- 作者:有点蓝 -- 发布时间:2025/3/5 14:15:00 -- http://www.foxtable.com/webhelp/topics/0545.htm http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=77615&skin=0
|
-- 作者:yqiushyqiush -- 发布时间:2025/3/5 15:34:00 -- 参考示例后,功能已经完美实现,谢谢! |