Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:婴狐 帖子:9 积分:126 威望:0 精华:0 注册:2017/6/18 15:33:00
[求助]  发帖心情 Post By:2017/6/28 20:04:00 [只看该作者]

错误所在事件:表,指挥表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。
请问出现这样的错误提示 应该怎样修改?
代码如下
If e.DataCol.Name = "医疗救护组" Then
    Dim dr As DataRow = DataTables("医疗救护组").Find("姓名 = '" & e.NewValue & "'")
   dr("状态")  = "已分配"
End If
If e.DataCol.name = "物资" Then
    If e.OldValue <> Nothing Then
        For Each s As String In e.OldValue.split(",")
            DataTables("应急物资表").ReplaceFor("状态", "使用中", "名称 = '" & s & "'")
        Next
    End If
    If e.NewValue <> Nothing Then
        For Each s As String In e.newValue.split(",")
            DataTables("应急物资表").ReplaceFor("状态", "使用中", "名称 = '" & s & "'")
        Next
    End If
End If
If e.DataCol.name = "医疗救护组" Then
    If e.OldValue <> Nothing Then
        For Each s As String In e.OldValue.split(",")
            DataTables("医疗救护组").ReplaceFor("状态", "待分配", "姓名 = '" & s & "'")
        Next
    End If
    If e.NewValue <> Nothing Then
        For Each s As String In e.newValue.split(",")
            DataTables("医疗救护组").ReplaceFor("状态", "已分配", "姓名 = '" & s & "'")
        Next
    End If
End If
If e.DataCol.Name =  "处理完成"And e.NewValue = True Then
   Dim dr As DataRow  = DataTables("医疗救护组").Find("姓名 = '" & e.DataRow("医疗救护组") & "'" ) 
    If dr IsNot  Nothing  Then
        dr("状态") = "待分配"
   End If
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/28 20:56:00 [只看该作者]

If e.DataCol.Name = "医疗救护组" Then
    Dim dr As DataRow = DataTables("医疗救护组").Find("姓名 = '" & e.NewValue & "'")
   dr("状态")  = "已分配"
End If

 

改成

 

If e.DataCol.Name = "医疗救护组" Then
    Dim dr As DataRow = DataTables("医疗救护组").Find("姓名 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        dr("状态")  = "已分配"
    End If
End If

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


加好友 发短信
等级:六尾狐 帖子:1249 积分:9474 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2017/6/28 21:00:00 [只看该作者]

这说明你引用的对象无实例,即为空值。

If e.DataCol.Name = "医疗救护组" Then
    Dim dr As DataRow = DataTables("医疗救护组").Find("姓名 = '" & e.NewValue & "'")
   dr("状态")  = "已分配"
End If

比喻这几行代码,若不存在所要找的行,则返回Nothing,这时再引用dr("状态")必会报错。
[此贴子已经被作者于2017/6/28 21:02:59编辑过]

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


加好友 发短信
等级:婴狐 帖子:9 积分:126 威望:0 精华:0 注册:2017/6/18 15:33:00
  发帖心情 Post By:2017/6/29 20:36:00 [只看该作者]

嗯嗯,这个问题我们已经解决啦,谢谢您

 回到顶部