标题:数据库的一张表怎么样用树型显出来?
只看楼主
dafunlang
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-4
结帖率:100%
已结贴  问题点数:20 回复次数:6 
数据库的一张表怎么样用树型显出来?
[attach]69114[/attach]
表名称playlist 表字段Id tvclass tvclassid tvname tvurl 怎么样用树型控件显示出,俺水平有限,请各位老师指点一下

[ 本帖最后由 dafunlang 于 2013-3-5 19:49 编辑 ]
搜索更多相关主题的帖子: 怎么样 
2013-03-04 18:35
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
二次循环,二个查询。

第一圈循环。
select * from 表 where tvclassid=0
添加 tvclass 为根显示内容,ID 加个前缀为 根关键字。
  和二圈循环。
   select * from 表 where tvclassid= 根的ID
   添加为 子项
  二圈循环结束
一圈循环结束

授人于鱼,不如授人于渔
早已停用QQ了
2013-03-05 08:47
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
得分:0 
程序代码:
    rs.Open "select * from playlist ", Conn, adOpenKeyset, adLockReadOnly
    Do Until rs.EOF
        Dim cid As Long
        cid = rs("tvclassid")
        Select Case cid
        Case 0
            If Not IsNull(rs("tvclass")) Then
                Set nodX = TreeView1.Nodes.Add(, , "K" & rs("id"), rs("tvclass"))
            Else
                Set nodX = TreeView1.Nodes.Add(, , "K" & rs("id"), "(Null)")
            End If
        Case Is > 0 ' Is > 0 ' else ' 有负数?神马情况?
            If Not IsNull(rs("tvname")) Then
                Set nodX = TreeView1.Nodes.Add("K" & cid, tvwChild, "K" & rs("id"), rs("tvname")) 'TreeRelationshipConstants tvwChild
            Else
                Set nodX = TreeView1.Nodes.Add("K" & cid, tvwChild, "K" & rs("id"), "(Null)")
            End If
        End Select
        rs.MoveNext
    Loop
    rs.Close
也可以善用 Key。
2013-03-05 11:02
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
习惯了 ASP 写法,ASP 写法中,数据生成必须按顺序生成,忘了VB里的树不需要按顺序添加。

还是 bcZgvip 的方法好。

授人于鱼,不如授人于渔
早已停用QQ了
2013-03-05 12:35
dafunlang
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-4
得分:0 
回复 3楼 bczgvip
程序代码:
Private Sub TreeView1_NodeClick(ByVal myNode As Node)



Select Case TreeView1.Nodes.Item(TreeView1.SelectedItem.Index).Key

 
        Case "id"
       
           wmp1.URL = rs("tvurl")
      
    
  End Select

End Sub
双击节点,tvurl的值,怎么样响应传递给这个wmp1.URL ="",谢谢版主,谢谢楼上的好心人

[ 本帖最后由 dafunlang 于 2013-3-5 13:00 编辑 ]
2013-03-05 12:46
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
得分:20 
程序代码:
Private Sub TreeView1_NodeClick(ByVal myNode As MSComctlLib.Node)
    Dim rs As ADODB.Recordset
    If Not myNode.Parent Is Nothing Then
        Set rs = New ADODB.Recordset
        rs.Open "select * from playlist where id=" & Mid$(myNode.Key, 2), Conn, adOpenKeyset, adLockReadOnly
        'wmp1.URL = rs("tvurl")
        Debug.Print rs("tvurl")
        rs.Close
    End If
    Set rs = Nothing
End Sub
写这代码时咱想到了2楼。
2013-03-05 13:43
dafunlang
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-4
得分:0 
回复 6楼 bczgvip
谢谢
2013-03-05 14:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-399718-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024535 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved