Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
wlxzl 发表于: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楼
狐狸爸爸 发表于: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
3楼
wlxzl 发表于:2011/9/22 12:33:00

谢谢!

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4楼
mr725 发表于:2011/9/22 12:53:00

重新执行原代码呀。

5楼
wlxzl 发表于:2011/9/22 13:28:00

明白,谢谢

6楼
狐狸爸爸 发表于:2011/9/22 14:17:00

也可以看看这个:

 

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

 

7楼
wlxzl 发表于:2011/9/23 12:41:00

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

 

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

8楼
狐狸爸爸 发表于:2011/9/23 14:07:00
另外加个刷新按钮就行
共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.