Foxtable(狐表)用户栏目专家坐堂 → [求助]删除行时出现“索引 1 不是为负数,就是大于行数。”


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

主题:[求助]删除行时出现“索引 1 不是为负数,就是大于行数。”

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


加好友 发短信
等级:一尾狐 帖子:402 积分:4990 威望:0 精华:0 注册:2015/4/30 15:42:00
[求助]删除行时出现“索引 1 不是为负数,就是大于行数。”  发帖心情 Post By:2016/2/17 13:41:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160217133648.png
图片点击可在新窗口打开查看

表“员工信息登记表”与窗口中的表位置联动,删除行后出现错误


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 14:36:00 [只看该作者]

贴出你CurrentChanged事件的代码看看

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


加好友 发短信
等级:一尾狐 帖子:402 积分:4990 威望:0 精华:0 注册:2015/4/30 15:42:00
  发帖心情 Post By:2016/2/17 14:43:00 [只看该作者]

If Forms("员工信息登记表").Opened AndAlso e.Table.rows.count > 0 Then '如果窗口已经打开
    If e.Table.Current Is Nothing Then Return
    Dim dr As DataRow = e.Table.Current.DataRow
    Dim wz As Integer = Tables("员工信息登记表_Table1").FindRow(dr)
        If wz >=0 Then
        systemready = False
        Tables("员工信息登记表_Table1").Position = wz
        systemready = True
        Tables("员工信息登记表_Table1").Refresh
    Else
        Return
    End If
End If

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


加好友 发短信
等级:一尾狐 帖子:402 积分:4990 威望:0 精华:0 注册:2015/4/30 15:42:00
  发帖心情 Post By:2016/2/17 14:45:00 [只看该作者]

窗口中表的代码

If e.Table.Current Is Nothing Then Return
Tables("员工信息登记表_Table1").AutoSizeCols() '自动调整列宽
Dim dr As DataRow = e.Table.Current.DataRow
Dim wz As Integer = Tables("员工信息登记表").FindRow(dr)

If wz >=0 Then
    systemready = False
    Tables("员工信息登记表").Position = wz

    systemready = True
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 14:47:00 [只看该作者]

代码应该没问题,做个具体例子上来测试。

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


加好友 发短信
等级:一尾狐 帖子:402 积分:4990 威望:0 精华:0 注册:2015/4/30 15:42:00
  发帖心情 Post By:2016/2/17 14:52:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:人员管理系统.zip


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 14:54:00 [只看该作者]

密码

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


加好友 发短信
等级:一尾狐 帖子:402 积分:4990 威望:0 精华:0 注册:2015/4/30 15:42:00
  发帖心情 Post By:2016/2/17 14:55:00 [只看该作者]

9个9

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 17:01:00 [只看该作者]

 汗,这个是bug。

 

 只要currentChanged事件写有代码,同时解锁行和删除行,就会报这个错的。

 

 删除按钮处理一下

 

With Tables("员工信息登记表")
    If .Current IsNot Nothing Then
        Dim Result As DialogResult
        Result = MessageBox.Show("确定要删除数据吗?  删除后将不能恢复!!!", "警告",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning )
        If Result = DialogResult.ok Then
            .Current.Locked = False
            systemready = False
            .Current.Delete
            systemready = True

        End If
    End If
End With


 回到顶部