以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表不加载数据的时候弹出错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=121822)

--  作者:紫色幽魂
--  发布时间:2018/7/13 14:48:00
--  [求助]表不加载数据的时候弹出错误
错误所在事件:无损_构件清单,CurrentChanged
详细错误信息:
未将对象引用设置到对象的实例。
    If e.Table.Current IsNot Nothing AndAlso Forms("工厂无损录入主界面").Opened Then
    Dim sd As WinForm.CheckBox = Forms("工厂无损录入主界面").Controls("锁定_工厂")
    If sd.Checked = True
    Return
    Else
    Forms("工厂无损录入主界面").Controls("车间").Text = e.Table.current("车间")
    Forms("工厂无损录入主界面").Controls("班组").Text = e.Table.current("班组")
    End If
    End If



    If e.Table.Current IsNot Nothing AndAlso Forms("工厂无损录入主界面").Opened Then
    Dim bz As WinForm.ComboBox = Forms("工厂无损录入主界面").Controls("班组")
    If e.Table.Current("构件编号") = "下料" Then
    bz.Value = "下料"
    End If
    End If

--  作者:有点甜
--  发布时间:2018/7/13 16:08:00
--  

改成下面,如果还报错,应该不是这段代码有问题。

 

systemready = False
Dim r As Row = e.Table.current
If r IsNot Nothing AndAlso Forms("工厂无损录入主界面").Opened Then
    Dim sd As WinForm.CheckBox = Forms("工厂无损录入主界面").Controls("锁定_工厂")
    If sd.Checked = True
        Return ""
    Else
        Forms("工厂无损录入主界面").Controls("车间").Text = r("车间")
        Forms("工厂无损录入主界面").Controls("班组").Text = r("班组")
    End If
End If

If r IsNot Nothing AndAlso Forms("工厂无损录入主界面").Opened Then
    Dim bz As WinForm.ComboBox = Forms("工厂无损录入主界面").Controls("班组")
    If r("构件编号") = "下料" Then
        bz.Value = "下料"
    End If
End If
systemready = True


--  作者:紫色幽魂
--  发布时间:2018/7/13 22:10:00
--  回复:(有点甜)改成下面,如果还报错,应该不是这段...
代码提示错误,我把后面的双引号去掉了

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

还是一样,没有加载任何数据点击这个表就会出现错误,加载了数据后就不会了
数据写在CurrentChanged事件里
[此贴子已经被作者于2018/7/13 22:14:38编辑过]

--  作者:有点蓝
--  发布时间:2018/7/13 22:28:00
--  
Dim r As Row = e.Table.current
If r IsNot Nothing AndAlso Forms("工厂无损录入主界面").Opened Then
    Dim sd As WinForm.CheckBox = Forms("工厂无损录入主界面").Controls("锁定_工厂")
    If sd.Checked = True
        Return
    Else
        Forms("工厂无损录入主界面").Controls("车间").Text = r("车间")
        Forms("工厂无损录入主界面").Controls("班组").Text = r("班组")
    End If
    Dim bz As WinForm.ComboBox = Forms("工厂无损录入主界面").Controls("班组")
    If r("构件编号") = "下料" Then
        bz.Value = "下料"
    End If
End If

设置上面代码,然后删除项目里的bin目录,重启项目测试