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


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

主题:[求助]错误提示

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


加好友 发短信
等级:三尾狐 帖子:770 积分:7825 威望:0 精华:0 注册:2014/4/21 15:16:00
[求助]错误提示  发帖心情 Post By:2016/2/16 15:07:00 [只看该作者]

Specified argument was out of the range of valid values.
Parameter name: index

这个是错误指示,就是利用窗口表中的数据生成一个目录树,出错的代码是:

  Dim dt1 As DataTable =t.DataTable
    tv.BuildTree(dt1,"设备名称|处理类型|机构或部位|故障现象|原因分析")


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/16 15:10:00 [只看该作者]

这两句代码不应该报错的。你看看目录树的AfterSelectNode事件是否有问题。


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


加好友 发短信
等级:三尾狐 帖子:770 积分:7825 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2016/2/16 15:14:00 [只看该作者]

目录树只有双击节点有事件,没有其它事件,相同的东西,在另一个窗口中运行正常,在这里就是不行。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/16 15:16:00 [只看该作者]

贴出完整的代码。这两句代码不会报这个错的。


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


加好友 发短信
等级:三尾狐 帖子:770 积分:7825 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2016/2/16 15:22:00 [只看该作者]

Dim t As Table = Tables("TX设备保养统计查询窗口_table2")
Dim tv As WinForm.TreeView = Forms("TX设备保养统计查询窗口").Controls("TreeView1")
    Dim i As new SQLCommand
    Dim dt As DataTable
    i.C
    i.CommandText ="sel ect TX设备表._Identify as 设备ID,所属部门,设备名称,公司名称,工作日期,处理类型,机构或部位,故障现象,原因分析,处理措施,耗时 as 维修时间,停时 as 停产时间,TX设备维修记录表.经办人 f rom {TX设备表} inner join {TX设备维修记录表} on TX设备表._Identify =TX设备维修记录表.设备ID "
    dt =i.ExecuteReader
    t.DataSource = dt
    t.AutoSizeCols
    t.Cols("故障现象").Width =120
    t.Cols("原因分析").Width =150
    t.Cols("处理措施").Width =150
    t.Cols("设备ID").Visible =False
    Dim dt2 As DataTable =t.DataTable
    tv.BuildTree(dt2,"设备名称|处理类型|机构或部位|故障现象|原因分析")
tv.Nodes.Insert("显示所有行",0)
forms("TX设备保养统计查询窗口").Controls("SplitContainer3").Panel1Collapsed =False

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/16 15:29:00 [只看该作者]

应该是你表没有数据,导致目录树没有数据,导致这句代码有问题 tv.Nodes.Insert("显示所有行",0)

 

把你的sql语句测试一下 http://www.foxtable.com/help/topics/1484.htm

 


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


加好友 发短信
等级:三尾狐 帖子:770 积分:7825 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2016/2/17 11:42:00 [只看该作者]

SQL语句没问题,已生成窗口表,经测试,

tv.BuildTree(dt1,"设备名称|处理类型|机构或部位|故障现象|原因分析")

是这句代码里面后面两列有问题,只要不加故障现象和原因分析就不报错,这两列任意加一列都会报错.

请问这是什么原因造成的.


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 11:51:00 [只看该作者]

 这句代码不应该报错的。

 

 做一个简单的例子发上来测试。


 回到顶部