Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:同步行

1楼
hfapplehao 发表于:2024/8/29 15:06:00
把这段代码放在保存按钮下面,发现表位空表的时候(删去全部行的状态),会提示错误
错误提示如下:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:自定义函数,同步选定行
详细错误信息:
调用的目标发生了异常。
索引超出范围。必须为非负值并小于集合大小。
参数名: index


源代码如下:
'此函数的目的是针对当前表,选中一定的区域,然后程序会判断选定的行,分别对每一行进行同步操作
Dim tb As Table = CurrentTable

If tb IsNot Nothing Then ' 判断表是不是为空
    ' 检查选定行的范围是否有效,并且确保索引在表格行数范围内
    If tb.TopPosition >= 0 AndAlso tb.BottomPosition >= 0 AndAlso tb.TopPosition <= tb.BottomPosition AndAlso tb.BottomPosition < tb.Rows.Count Then
        For i As Integer = tb.TopPosition To tb.BottomPosition
            ' 检查索引是否在有效范围内
            If i >= 0 AndAlso i < tb.Rows.Count Then
                Dim dr As Row = tb.Rows(i)
                
                ' 检查行是否有效
                If dr IsNot Nothing Then
                    dr.Load()
                End If
            End If
        Next
    Else
        popmessage("选定行的范围无效或表格中没有有效的行。")
    End If
Else
    popmessage("表格为空。")
End If
2楼
有点蓝 发表于:2024/8/29 15:15:00
我测试没有问题呀,做个例子发过来看看。另外代码没有必要搞那么复杂,有些判断是没有必要的

Dim tb As Table = CurrentTable

If tb.Rows.Count > 0 Then ' 判断表是不是为空
    ' 检查选定行的范围是否有效,并且确保索引在表格行数范围内
    If tb.TopPosition >= 0 AndAlso tb.BottomPosition >= 0 Then
        For i As Integer = tb.TopPosition To tb.BottomPosition
            tb.Rows(i).Load()
        Next
    Else
        popmessage("选定行的范围无效或表格中没有有效的行。")
    End If
Else
    popmessage("表格为空。")
End If
共2 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.