以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  目录树节点报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57024)

--  作者:l451826728
--  发布时间:2014/9/17 9:11:00
--  目录树节点报错

老师帮我看下这段NodeMouseClick代码有什么问题:

 

 

If e.Node.Level = 1 Then \'如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\\")
    Dim tr As Row = Tables("B超结果").Current
    Dim dr As DataRow = DataTables("B超字典").Find("B超结论 = \'" & ps(0) & "\' And 检查所见 = \'" & ps(1) & "\'")
    If dr IsNot Nothing Then \'如果在B超字典表找到对应的行,则将此行的值写入B超结果表的当前行.
        tr("B超结论") = dr("B超结论")
        tr("检查所见") = dr("检查所见")
        e.Form.DropDownBox.Value = tr("检查所见") \'这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
    End If
    e.Form.DropDownBox.CloseDropdown()
End If

 

采用的是在窗口输入的方式,单击目录树输入,目录树嵌入到当前窗口,同时目录树节点均是来自数据表,单击节点时输入当前表当前行结果已经生效,但是每次都有以下报错:

未将引用对象设置到对象的实例

 

问题出在什么地方?怎么解决?谢谢老师!


--  作者:有点甜
--  发布时间:2014/9/17 9:23:00
--  
 看代码,不是这段代码有错,你去看看表的datacolchanged事件,删除看是否报错
--  作者:l451826728
--  发布时间:2014/9/17 10:44:00
--  
表的datacolchanged事件是没有定义任何东西的,只有DataColChanging给本表定义了年龄列而且成功,跟这个没有牵扯啊
--  作者:有点甜
--  发布时间:2014/9/17 10:56:00
--  
以下是引用l451826728在2014-9-17 10:44:00的发言:
表的datacolchanged事件是没有定义任何东西的,只有DataColChanging给本表定义了年龄列而且成功,跟这个没有牵扯啊

 

那就不可能会报这个错误,弄不好,就请上传例子


--  作者:l451826728
--  发布时间:2014/9/17 11:01:00
--  
怎么上传啊?把项目整个打包?
--  作者:有点甜
--  发布时间:2014/9/17 11:04:00
--  
以下是引用l451826728在2014-9-17 11:01:00的发言:
怎么上传啊?把项目整个打包?

 

 做一个简单的例子上传就行了,没有必要打包上传。

 

 也可以整个项目打包上传


--  作者:l451826728
--  发布时间:2014/9/17 11:18:00
--  
简单的例子,一样的报错,请老师看下附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目00.zip


--  作者:有点甜
--  发布时间:2014/9/17 11:22:00
--  

 你这个根本就不是下拉窗口啊

 

If e.Node.Level = 1 Then \'如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\\")
    Dim tr As Row = Tables("表B").Current
    Dim dr As DataRow = DataTables("表A").Find("村 = \'" & ps(0) & "\' And 村医姓名 = \'" & ps(1) & "\'")
    If dr IsNot Nothing Then \'如果在表A表找到对应的行,则将此行的值写入表B表的当前行.
        tr("村") = dr("村")
        tr("村医姓名") = dr("村医姓名")      
    End If
End If


--  作者:l451826728
--  发布时间:2014/9/17 11:28:00
--  

    恍然大悟…………

是我太笨了,因为没找到例子就生搬下拉窗口的代码,老师真是细心,谢谢!!