最近我发现了ComponentArt WebUI 这个控件,用它可以方便的建立精美的菜单和树状结构,下面是我开发时初始化树时的代码,其实很简单和.NET 自己的控件的使用方法基本相同。

以下代码在html中定义树的样式和结构

      <componentart:treeview id="TreeView1" runat="server" Width="200px" CssClass="TreeView" LineImagesFolderUrl="images/lines/"
                LeafNodeImageUrl="images/mdlr.gif" ParentNodeImageUrl="images/folder.gif" ExpandImageUrl="images/col.gif"
                CollapseImageUrl="images/exp.gif" NodeEditCssClass="NodeEdit" SelectedNodeRowCssClass="SelectedTreeNodeRow"
                HoverNodeRowCssClass="HoverTreeNodeRow" NodeRowCssClass="TreeNodeRow" SelectedNodeCssClass="RowTreeNode"
                HoverNodeCssClass="HoverTreeNode" NodeCssClass="TreeNode" AutoPostBackOnSelect="True" AutoPostBackOnNodeCheckChanged="True"
                CausesValidation="False" Height="300px">
                <Nodes>
                 <componentart:TreeViewNode Text="node1" AutoPostBackOnSelect="True" Selectable="False" AutoPostBackOnCheckChanged="True"></componentart:TreeViewNode>
                 <componentart:TreeViewNode Text="node2" AutoPostBackOnSelect="True" Selectable="False" AutoPostBackOnCheckChanged="True"></componentart:TreeViewNode>
                </Nodes>
               </componentart:treeview>

以下代码用于根据数据库信息动态生成树结构

 TreeView1.Nodes(0).Nodes.Clear() ‘树结点清空
        TreeView1.Nodes(1).Nodes.Clear()
        Dim node As ComponentArt.Web.UI.TreeViewNode ’定义一个结点类型
        Dim i As Int32
        Dim mdl As ModelBaseInfo
        For i = 0 To mdllist.Count - 1  ‘mdllist为存储从数据库中读出的数据
            mdl = CType(mdllist(i), ModelBaseInfo)  ’modelbaseinfo为自己定义的数据结构
            Select Case mdl.NETTYPE
                Case "node1"
                    node = New ComponentArt.Web.UI.TreeViewNode 
                    node.Text = mdl.MODLNAME & "—" & mdl.CREATEUSER  ‘结点文本
                    node.Value = mdl.MODL_ID  ’结点值
                    TreeView1.Nodes(0).Nodes.Add(node) ‘添加结点
                Case "node2"
                    node = New ComponentArt.Web.UI.TreeViewNode
                    node.Text = mdl.MODLNAME & "—" & mdl.CREATEUSER
                    node.Value = mdl.MODL_ID
                    TreeView1.Nodes(1).Nodes.Add(node)
            End Select
        Next

感觉和用DropDownlist没什么区别吧。

 posted on 2006-04-04 08:10  James Cheung  阅读(787)  评论(0)    收藏  举报