Foxtable(狐表)用户栏目专家坐堂 → [求助]IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败


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

主题:[求助]IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败

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


加好友 发短信
等级:婴狐 帖子:13 积分:199 威望:0 精华:0 注册:2015/4/27 13:59:00
[求助]IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败  发帖心情 Post By:2015/5/3 1:02:00 [只看该作者]

说明:
我有两个表:
“单位表” 字段:[单位编号]、[单位名称] 、[级码],(父表,以前两个字段与下面子表关联)
“员工表”字段:[单位编号]、[工作单位]
单位编号的格式:111222333444555,其中111为一级单位,222为二级单位,依此类推。

意图:
单位表通过GenerateTree建立目录树,实现了以下目录显示,但111与222级在子表中无记录,我需要在点击222时,将子表[单位编号]前6个字符为“111222”的均显示。
111
    +222
          +333

在treeview事件中的nodemouseclick加入如下代码:

Dim tj As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
tj=DR("单位编号").substring(1,(e.Node.Level+1)*3)
Dim Filter As String = "[单位编号].substring(1," & (e.Node.Level+1)*3 & ")='" & tj & "'"
DataTables("员工表").LoadFilter = Filter
DataTables("员工表").Load()

运行后点击"222"等任何节点,均出现如下错误提示:
 IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败

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


加好友 发短信
等级:婴狐 帖子:13 积分:199 威望:0 精华:0 注册:2015/4/27 13:59:00
  发帖心情 Post By:2015/5/3 10:20:00 [只看该作者]

解决了。似乎是substring函数的问题。

修改如下:

Dim tj As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
tj=DR("单位编号").substring(0,(e.Node.Level+1)*3)
Dim Filter As String = "[单位编号] like '" & tj & "%'"
DataTables("员工表").LoadFilter = Filter
DataTables("员工表").Load()


 回到顶部