asp.net 中treeview的运用

由于接触2005的时间不长,很多控件都不知道怎么使用,哎就像现在的这个treeview控件,突然要用到却慌了手脚,经过2天的搜索资料终于有大概的了解了@下面提供下我的做法:

1.先来提提我的需求吧!由于是要操作两张数据库表的,一张是Company的资料(当作根节点---根据公司不同显示的其他节点就不一样),一张是Dept的资料(用来显示部门----重点就在存在嵌套)

Company的字段

co_id   co_name  co_ename

1          ***公司   A

2          YYY公司   Y

3          SSS公司   S

Dept

 
dp_idco_iddp_namedp_enamedp_leveldp_up_level
11资讯部IT10
21 财务部FA10
32资讯部IT10
42网络系统部ITNT23
52ERPERP23
62办公室自动化OA34
72开发技术课DT34
81办公室自动化OA31
91成本会计Costing32

 

2.操作方式

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load



        If Not IsPostBack Then

            bid = Request("co_id")--------从选择的相关页面传递来的信息

            Dim dv As DataView = drv("select * from 表名 where co_id= " & bid)----查找出该表的信息

            Dim datav As DataRowView

            For Each datav In dv

                Dim tn As TreeNode = New TreeNode----定义treeview中的根节点

                tn.Text =  datav("co_name").ToString-----节点显示的信息

                tn.Value = datav("co_id").ToString----------对应该节点的ID

                tn.Expanded = True---------------------------默认自动展开

                TreeView1.Nodes.Add(tn)------------------添加到treeview中(一定要的哦!)

                addchildnode(tn)--------------------------------自定义的递归函数

            Next

        End If





    End Sub
 Private Sub addchildnode(ByVal tn As TreeNode)

        Dim dv As DataView = drv("select * from dept表  where dp_level=1 and dp_status=1 and co_id='" & bid & "'")---------需要根据第几层显示那些信息

        Dim datav As DataRowView

        For Each datav In dv

            Dim ctn As TreeNode = New TreeNode

            ctn.Text = datav("dp_name").ToString

            ctn.Value = datav("dp_id").ToString

            tn.ChildNodes.Add(ctn)

            addSchildnode(ctn)--------------------------利用跟这个相同的方式只是把dp_level=2这样下去改,其实也许可以写在同一个函数的只是没有时间好好去整理了

        Next

    End Sub

                                                                           

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值