Foxtable(狐表)用户栏目专家坐堂 → [求助]生成树项目代码出错


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

主题:[求助]生成树项目代码出错

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


加好友 发短信
等级:婴狐 帖子:37 积分:336 威望:0 精华:0 注册:2011/9/4 8:55:00
[求助]生成树项目代码出错  发帖心情 Post By:2011/9/22 9:33:00 [只看该作者]

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim dic As new Dictionary(Of String,Winform.TreeNode)
Dim nd As WinForm.TreeNode
Dim pd As WinForm.TreeNode
Dim cmd As New SQLCommand
Dim drs As DataTable
cmd.CommandText = "SELECT DISTINCT 编码,名称,上级编码 From {组织机构}"
drs = cmd.ExecuteReader
For Each dr As DataRow In drs
    If dr.IsNull("上级编码") = False Then
        If dic.ContainsKey(dr("上级编码")) Then
            pd = dic(dr("上级编码"))
            nd = pd.Nodes.add(dr("编码"),dr("编码")+dr("名称"))
            dic.add(dr("编码"),nd)
        End If
    Else
        nd = trv.Nodes.add(dr("编码"),dr("名称"))
        dic.add(dr("编码"),nd)
    End If
    If dr("分支机构") = True
        nd.BackColor= color.Gainsboro
        nd.ForeColor = color.white
    End If
Next

 

保存代码下出现如下提示:

编译错误:expression is of type 'datatable',which is not a collection type.

错误代码:for each dr as datarow in drs

请各位大师帮看看,是怎么回事呀?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/22 9:39:00 [只看该作者]

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim dic As new Dictionary(Of String,Winform.TreeNode)
Dim nd As WinForm.TreeNode
Dim pd As WinForm.TreeNode
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT DISTINCT 编码,名称,上级编码 From {组织机构}"
dt = cmd.ExecuteReader
For Each dr As DataRow In dt.DataRows
    If dr.IsNull("上级编码") = False Then
        If dic.ContainsKey(dr("上级编码")) Then
            pd = dic(dr("上级编码"))
            nd = pd.Nodes.add(dr("编码"),dr("编码")+dr("名称"))
            dic.add(dr("编码"),nd)
        End If
    Else
        nd = trv.Nodes.add(dr("编码"),dr("名称"))
        dic.add(dr("编码"),nd)
    End If
    If dr("分支机构") = True
        nd.BackColor= color.Gainsboro
        nd.ForeColor = color.white
    End If
Next

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


加好友 发短信
等级:婴狐 帖子:37 积分:336 威望:0 精华:0 注册:2011/9/4 8:55:00
  发帖心情 Post By:2011/9/22 12:33:00 [只看该作者]

谢谢!

狐爸,对原数据作了修改或删除,如何重新刷新树,按新的数据生成树目录呀?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/22 12:53:00 [只看该作者]

重新执行原代码呀。


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


加好友 发短信
等级:婴狐 帖子:37 积分:336 威望:0 精华:0 注册:2011/9/4 8:55:00
  发帖心情 Post By:2011/9/22 13:28:00 [只看该作者]

明白,谢谢


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/22 14:17:00 [只看该作者]

也可以看看这个:

 

http://www.foxtable.com/help/topics/2350.htm

 


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


加好友 发短信
等级:婴狐 帖子:37 积分:336 威望:0 精华:0 注册:2011/9/4 8:55:00
  发帖心情 Post By:2011/9/23 12:41:00 [只看该作者]

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv
.BuildTree("行政区域","省市|县市")

 

狐爸,按上面两条刷树不能实现,你看要怎么改呀。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/23 14:07:00 [只看该作者]

另外加个刷新按钮就行

 回到顶部