以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]错误提示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81016) |
-- 作者:kaiyu -- 发布时间:2016/2/16 15:07:00 -- [求助]错误提示 Specified argument was out of the range of valid values. 这个是错误指示,就是利用窗口表中的数据生成一个目录树,出错的代码是: Dim dt1 As DataTable =t.DataTable |
-- 作者:大红袍 -- 发布时间:2016/2/16 15:10:00 -- 这两句代码不应该报错的。你看看目录树的AfterSelectNode事件是否有问题。 |
-- 作者:kaiyu -- 发布时间:2016/2/16 15:14:00 -- 目录树只有双击节点有事件,没有其它事件,相同的东西,在另一个窗口中运行正常,在这里就是不行。 |
-- 作者:大红袍 -- 发布时间:2016/2/16 15:16:00 -- 贴出完整的代码。这两句代码不会报这个错的。 |
-- 作者:kaiyu -- 发布时间: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 |
-- 作者:大红袍 -- 发布时间:2016/2/16 15:29:00 -- 应该是你表没有数据,导致目录树没有数据,导致这句代码有问题 tv.Nodes.Insert("显示所有行",0)
把你的sql语句测试一下 http://www.foxtable.com/help/topics/1484.htm
|
-- 作者:kaiyu -- 发布时间:2016/2/17 11:42:00 -- SQL语句没问题,已生成窗口表,经测试, tv.BuildTree(dt1,"设备名称|处理类型|机构或部位|故障现象|原因分析") 是这句代码里面后面两列有问题,只要不加故障现象和原因分析就不报错,这两列任意加一列都会报错. 请问这是什么原因造成的. |
-- 作者:大红袍 -- 发布时间:2016/2/17 11:51:00 -- 这句代码不应该报错的。
做一个简单的例子发上来测试。 |