zoukankan      html  css  js  c++  java
  • 动态加载TreeNode ComponentArt TreeView

           ComponentArt是我所用过的第三方控件中比较优秀的一套。下面代码主要实现树节点的动态加载,比较简单,所以只贴代码:
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="ProjectTree.ascx.cs" Inherits="Modules_Other_ProjectTree" %>
    <%@ Register TagPrefix="ComponentArt" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %>
    <ComponentArt:TreeView id="TreeView1" Height="350px" Width="100%" 
        DragAndDropEnabled
    ="false" 
        NodeEditingEnabled
    ="false"
        KeyboardEnabled
    ="true"
        CssClass
    ="TreeView" 
        NodeCssClass
    ="TreeNode" 
        SelectedNodeCssClass
    ="SelectedTreeNode" 
        HoverNodeCssClass
    ="HoverTreeNode"
        NodeEditCssClass
    ="NodeEdit"
        LineImageWidth
    ="19" 
        LineImageHeight
    ="20"
        DefaultImageWidth
    ="16" 
        DefaultImageHeight
    ="16"
        ItemSpacing
    ="0" 
        ImagesBaseUrl
    ="images/"
        NodeLabelPadding
    ="3"
        ShowLines
    ="true" 
        LineImagesFolderUrl
    ="images/lines/"
        EnableViewState
    ="true"
        runat
    ="server" LoadingFeedbackText="Loading " >
      
    </ComponentArt:TreeView>

    protected void Page_Load(object sender, EventArgs e)
        
    {
            
    if (!Page.IsPostBack)
            
    {
                TreeViewNode rootnode 
    = new TreeViewNode();
                rootnode.Text 
    = "项目";
                rootnode.Expanded 
    = true;
                TreeView1.Nodes.Add(rootnode);

                ProjectDB pdb 
    = new ProjectDB();
                IList
    <Project.Model.Project> plist = pdb.ProjectList();
                
    foreach (Project.Model.Project p in plist)
                
    {
                     TreeViewNode pnode 
    = new TreeViewNode();
                    pnode.Text 
    = p.PNO + " " + p.ProjectName;
                    pnode.ID 
    = p.Id.ToString();
                    pnode.Value 
    = "Project";
                    pnode.ContentCallbackUrl 
    = "Test.aspx?Pid=" + p.Id;
                    rootnode.Nodes.Add(pnode);
                }
     
            }
          
        }


    <%@ Page Language="C#" AutoEventWireUp="true" %>
    <%@ import Namespace="System.Threading" %>
    <%@ import Namespace="System.IO" %>
    <%@ Import Namespace="Project.DAO" %>
    <%@ Import Namespace="Project.Model" %>
    <%@ import Namespace="ComponentArt.Web.UI" %>
    <%@ Import Namespace="System.Collections.Generic" %>
    <% Response.ContentType = "text/xml"%>
    <script language="C#" runat="server" type="text/C#">
        
    void Page_Load(Object sender, EventArgs e)
        
    {
            ComponentArt.Web.UI.TreeView TreeView1 
    = new ComponentArt.Web.UI.TreeView();

            ProjectDB pdb 
    = new ProjectDB();
            
    if (Request.QueryString["Pid"!= null && Request.QueryString["Pid"!= "")
            
    {
                
    int pid = int.Parse(Request.QueryString["Pid"]);

                IList
    <ProjectStep> pslist = pdb.GetPstepByPid(pid, 0);
                foreach (ProjectStep ps 
    in pslist)
                
    {
                    TreeViewNode node 
    = new TreeViewNode();

                    node.Text 
    =  ps.StepName;
                    node.ID 
    = ps.Id.ToString();
                    node.Value 
    = "Step";
                    
                    TreeView1.Nodes.Add(node);
                }

            }


            Response.Write(TreeView1.GetXml());
        }

    </script>
  • 相关阅读:
    ASP.NET Web API涉及到的上下文
    .NET Core 和 ASP.NET 5 RC1 发布
    通过NameValuePairsValueProvider对象来获取指定前缀的Key
    ASP.NET Web API获取Model元数据
    功放AUX接口解析
    安全协议:SSL、TSL、SSH概述
    从自签名证书导出pfx和cer证书
    windows下使用makecert命令生成自签名证书
    低音炮四种典型的接线方法
    音箱灵敏度
  • 原文地址:https://www.cnblogs.com/pw/p/611327.html
Copyright © 2011-2022 走看看