以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Error原因  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56268)

--  作者:lesliecheung912
--  发布时间:2014/9/2 11:59:00
--  [求助]Error原因
在打开窗口时会报以下错误:
.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2014.8.6.1
错误所在事件:窗口,主窗口,AfterLoad
详细错误信息:
指定的参数已超出有效值的范围。
参数名: index

Afterload事件:
DataTables("员工档案表").LoadFilter = "_Identify Is NULL"
DataTables("员工档案表").Load
Dim cmd As New SQLCommand
cmd.C
Dim dt As DataTable
cmd.CommandText = "SELECT 单位名称,部门体系,工作部门,办事处,岗位名称,员工姓名 From 员工档案表 where 员工状态 in (\'试用\',\'在职\') "
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "单位名称|部门体系|工作部门|办事处|岗位名称|员工姓名")
请问指定的参数是说的哪个参数?原因可能会是什么呢?

--  作者:Bin
--  发布时间:2014/9/2 12:02:00
--  
调试一下是那一行代码错误
--  作者:lesliecheung912
--  发布时间:2014/9/2 12:06:00
--  
最后一句有问题
--  作者:有点甜
--  发布时间:2014/9/2 14:07:00
--  

回3楼,不应该是有问题。

 

你看看是否目录树控件的什么事件有代码影响了。


--  作者:lesliecheung912
--  发布时间:2014/9/2 14:25:00
--  
在AfterCheckNode事件中:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim ids As String
Dim nd As WinForm.TreeNode
Dim pd As WinForm.TreeNode
For Each nd In e.node.allNodes \'清除子节点的选中标记
    nd.Checked = False
Next
pd = e.Node.ParentNode
Do While pd IsNot Nothing \'清除父节点的选中标记
    pd.Checked = False
    pd = pd.ParentNode
Loop
For Each nd In trv.AllNodes
    pd = nd
    Do While pd IsNot Nothing
        If pd.Checked  Then
            If ids > "" Then
                ids= ids &  ","
            End If
            ids = ids & "\'" & nd.name & "\'"
            Exit Do
        Else
            pd = pd.ParentNode
        End If
    Loop
Next
If ids > "" Then
    DataTables("员工档案表").LoadFilter = "员工姓名 In (" & ids & ")and 员工状态 in(\'试用\',\'在职\')"
    DataTables("员工档案表").Load()
End If


--  作者:有点甜
--  发布时间:2014/9/2 14:38:00
--  
 做一个出错的例子发上来。