Foxtable(狐表)用户栏目专家坐堂 → 不能通过已删除的行访问该行的信息


  共有2400人关注过本帖平板打印复制链接

主题:不能通过已删除的行访问该行的信息

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


加好友 发短信
等级:六尾狐 帖子:1497 积分:9706 威望:0 精华:0 注册:2014/12/18 16:12:00
不能通过已删除的行访问该行的信息  发帖心情 Post By:2018/8/3 17:02:00 [只看该作者]

我在“JPK612备料”的datacolchanged里面有如下代码:

If e.DataCol.name = "需求数量" 
    If e.DataRow("批号") = ""
    Else
        Dim re As Boolean = False
        For Each dr As DataRow In DataTables("批号表").DataRows
            If dr("物料编号") = e.DataRow("零件号") Then
                dr("库存数量") = dr("库存数量") - e.DataRow("需求数量") - e.OldValue
                dr("批号变动记录") = "出入库变动:" & Date.now & " " & User.Name
                dr("库存数量变动记录") = "出入库变动:" & Date.now & " " & User.Name
                re = True
                Exit For
            Else
                Continue For
            End If
        Next
        If re = False
            Dim dr As DataRow
            dr = DataTables("批号表").AddNew()
            dr("批号") = e.DataRow("批号")
            dr("物料编号") = e.DataRow("零件号")
            dr("库存数量") = 0 - e.DataRow("需求数量") 
            dr("批号变动记录") = "出入库变动:" & Date.now & " " & User.Name
            dr("库存数量变动记录") = "出入库变动:" & Date.now & " " & User.Name
        End If
    End If
end if

我在“批号表”的datacolchanged里面有如下代码:

If e.DataCol.name = "库存数量"
    If e.DataRow("库存数量") = 0
        e.DataRow.delete
    End If
End If


当我在“JPK612备料”输入一条记录,比如数量为1之后,此时“批号表”会增加一条记录,其数量也为1;如果我再在“JPK612备料”输入

一条记录,比如数量为-1之后,“批号表”里面此前增加的记录因为库存数量变为了0而删除,但是,却出现如下警告:


.NET Framework 版本:2.0.50727.8789
Foxtable 版本:2017.3.18.1
错误所在事件:表,JPK612备料,DataColChanged
详细错误信息:
调用的目标发生了异常。
不能通过已删除的行访问该行的信息。

这是为什么呢? 我们希望不要出现上述警告,该如何修改代码?谢谢。

 回到顶部
总数 11 1 2 下一页