19.4使用TreeView控件
使用TreeView控件
1、声明式地添加树视图节点
TreeViewDeclare.aspx
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:TreeView ID="TreeView1" runat="server"> <Nodes> <asp:TreeNode Text="Home" NavigateUrl="~/MenuLinkButton.aspx"> <asp:TreeNode Text="Products"> <asp:TreeNode Text="First Product" NavigateUrl="~/Products.aspx" /> <asp:TreeNode Text="Services" NavigateUrl="~/Services.aspx" /> </asp:TreeNode> <asp:TreeNode Text="Services" NavigateUrl="~/MenuLinkButton.aspx" /> </asp:TreeNode> </Nodes> </asp:TreeView> </div> </form></body></html>
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { lblMessage.Text = TreeView1.SelectedValue; }</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <style type="text/css"> html { background-color: Silver; } .content { float: left; width: 350px; height: 500px; padding: 20px; margin: 10px; background-color: White; } </style> <title></title></head><body> <form id="form1" runat="server"> <div runat="server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"> <Nodes> <asp:TreeNode Text="Home" Value="Home"> <asp:TreeNode Text="Products"> <asp:TreeNode Text="First Products" Value="FirstProducts" /> <asp:TreeNode Text="Second Products" Value="SecondProducts" /> </asp:TreeNode> <asp:TreeNode Text="Services"> <asp:TreeNode Text="First Service" Value="FirstService" /> <asp:TreeNode Text="Second Service" Value="SecondService" /> </asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> </div> <div EnableViewState="false" runat="server" /> </div> </form></body></html>
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void btnSubscribe_Click(object sender, EventArgs e) { foreach (TreeNode node in TreeView1.CheckedNodes) bltSubscribed.Items.Add(node.Text); }</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> Select the Newsgroups which you would like to join: <br /> <asp:TreeView ID="TreeView1" ShowCheckBoxes="Leaf" runat="server"> <Nodes> <asp:TreeNode Text="Programming"> <asp:TreeNode Text="ASP.NET" /> <asp:TreeNode Text="JAVA" /> <asp:TreeNode Text="Cold Fusion" /> </asp:TreeNode> <asp:TreeNode Text="Sports"> <asp:TreeNode Text="Baseball" /> <asp:TreeNode Text="Hockey" /> <asp:TreeNode Text="Football" /> </asp:TreeNode> </Nodes> </asp:TreeView> <br /> <asp:Button ID="btnSubscribe" Text="Subscribe" runat="server" OnClick="btnSubscribe_Click" /> <br /> You Selected: <asp:BulletedList ID="bltSubscribed" EnableViewState="false" runat="server" /> </div> </form></body></html>
<?xml version="1.0" encoding="utf-8" ?><movies> <action> <StarWars /> <IndependenceDay /> </action> <horror> <Jaws /> <NightmareBeforeChristmas/> </horror></movies>
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1"> </asp:TreeView> </div> <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Movies.xml"></asp:XmlDataSource> </form></body></html>
<?xml version="1.0" encoding="utf-8" ?><movies> <category id="category1" text="Action"> <movie id="movie1" text="Star Wars" /> <movie id="movie2" text="Independence Day"/> </category> <category id="category2" text="Horror"> <movie id="movie3" text="Jaws"/> <movie id="movie4" text="Nightmare Before Christmas"/> </category></movies>
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:TreeView ID="TreeView1" runat="server" DataSourceID="srcMovies"> <DataBindings> <asp:TreeNodeBinding DataMember="category" TextField="text" ValueField="id" /> <asp:TreeNodeBinding DataMember="movie" TextField="text" ValueField="id" /> </DataBindings> </asp:TreeView> </div> <asp:XmlDataSource ID="srcMovies" runat="server" DataFile="~/MoviesComplex.xml"> </asp:XmlDataSource> </form></body></html>
id parentid subject1NULLHow do you use the menu control?2NULLWhat's the TreeView control?31Re:How do you use the menu control?41Re:How do you use the menu control?52RE:What's the TreeView control?65RE:What's the TreeView control?NULLNULLNULL
<%@ Page Language="C#" %><%@ Import Namespace="System.Web.Configuration" %><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) PopulateTreeView(); } private void PopulateTreeView() { DataTable treeViewData = GetTreeViewData(); AddTopTreeViewNodes(treeViewData); } public DataTable GetTreeViewData() { string selectCommand = "Select Id,ParentId,Subject From Message"; string conString = WebConfigurationManager.ConnectionStrings["message"].ConnectionString; SqlDataAdapter dad = new SqlDataAdapter(selectCommand, conString); DataTable dtblmessage = new DataTable(); dad.Fill(dtblmessage); return dtblmessage; } private void AddTopTreeViewNodes(DataTable treeViewData) { DataView view = new DataView(treeViewData); view.RowFilter = "parentid IS NULL"; foreach (DataRowView row in view) { TreeNode newNode = new TreeNode(row["Subject"].ToString(), row["ID"].ToString()); TreeView1.Nodes.Add(newNode); AddChildTreeViewNodes(treeViewData, newNode); } } private void AddChildTreeViewNodes(DataTable treeViewData, TreeNode parentTreeViewNode) { DataView view = new DataView(treeViewData); view.RowFilter = "parentId=" + parentTreeViewNode.Value; foreach (DataRowView row in view) { TreeNode newNode = new TreeNode(row["Subject"].ToString(), row["id"].ToString()); parentTreeViewNode.ChildNodes.Add(newNode); AddChildTreeViewNodes(treeViewData, newNode); } }</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:TreeView ID="TreeView1" runat="server"> </asp:TreeView> </div> </form></body></html>
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e) { for (int i = 0; i < 5; i++) { TreeNode newNode = new TreeNode(); newNode.Text = String.Format("{0}.{1}", e.Node.Text, i); newNode.PopulateOnDemand = true; e.Node.ChildNodes.Add(newNode); } }</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <%=DateTime.Now.ToString("T") %> <hr /> <asp:TreeView ID="TreeView1" ExpandDepth="0" runat="server" OnTreeNodePopulate="TreeView1_TreeNodePopulate"> <Nodes> <asp:TreeNode PopulateOnDemand="true" Text="Node 0" /> </Nodes> </asp:TreeView> </div> </form></body></html>
<%@ Page Language="C#" %><%@ Import Namespace="System.Web.Configuration" %><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) PopulateTopNodes(); } private void PopulateTopNodes() { string selectCommand = "Select Id,ParentId,Subject From Message where parentid is null"; string conString = WebConfigurationManager.ConnectionStrings["message"].ConnectionString; SqlDataAdapter dad = new SqlDataAdapter(selectCommand, conString); DataTable dtblmessage = new DataTable(); dad.Fill(dtblmessage); foreach (DataRow row in dtblmessage.Rows) { TreeNode newNode = new TreeNode(row["subject"].ToString(), row["Id"].ToString()); newNode.PopulateOnDemand = true; TreeView1.Nodes.Add(newNode); } } protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e) { string selectCommand = "Select Id,ParentId,Subject From Message where parentid=@parentid"; string conString = WebConfigurationManager.ConnectionStrings["message"].ConnectionString; SqlDataAdapter dad = new SqlDataAdapter(selectCommand, conString); dad.SelectCommand.Parameters.AddWithValue("@parentid", e.Node.Value); DataTable dtblmessage = new DataTable(); dad.Fill(dtblmessage); foreach (DataRow row in dtblmessage.Rows) { TreeNode newNode = new TreeNode(row["subject"].ToString(), row["Id"].ToString()); newNode.PopulateOnDemand = true; e.Node.ChildNodes.Add(newNode); } }</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <%=DateTime.Now.ToString("T") %> <hr /> <asp:TreeView ID="TreeView1" ExpandDepth="0" runat="server" OnTreeNodePopulate="TreeView1_TreeNodePopulate"> </asp:TreeView> </div> </form></body></html>
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <asp:TreeView ID="TreeView1" runat="server" ImageSet="XPFileExplorer"> <Nodes> <asp:TreeNode Text="Home" Value="Home"> <asp:TreeNode Text="Products" Value="Products"> <asp:TreeNode Text="First Product" Value="First Product"></asp:TreeNode> <asp:TreeNode Text="Second Product" Value="Second Product"></asp:TreeNode> </asp:TreeNode> <asp:TreeNode Text="Services" Value="Services"> <asp:TreeNode Text="First Service" Value="First Service"></asp:TreeNode> <asp:TreeNode Text="Second Service" Value="Second Service"></asp:TreeNode> </asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> <div> </div> </form></body></html>
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <style type="text/css"> .treeNode { color: Blue; font: 14px Arail,Sans-Serif; } .rootNode { font-size: 18px; width: 100%; border-bottom: Solid 1px black; } .leafNode { border: Dotted 2px black; padding: 4px; background-color: #eeeeee; font-weight: bold; } </style> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:TreeView ID="TreeView1" NodeStyle-CssRootNodeStyle-Cssrunat="server"> <Nodes> <asp:TreeNode Text="Home" Value="Home"> <asp:TreeNode Text="Products" Value="Products"> <asp:TreeNode Text="First Product" Value="First Product"></asp:TreeNode> <asp:TreeNode Text="Second Product" Value="Second Product"></asp:TreeNode> </asp:TreeNode> <asp:TreeNode Text="Services" Value="Services"> <asp:TreeNode Text="First Service" Value="First Service"></asp:TreeNode> <asp:TreeNode Text="Second Service" Value="Second Service"></asp:TreeNode> </asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> </div> </form></body></html>
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <style type="text/css"> .nodeLevel1 { font: 40px Arial,Sans-Serif; } .nodeLevel2 { font: 20px Arial,Sans-Serif; } .nodeLevel3 { font: 10px Arial,Sans-Serif; } </style> <title></title></head><body> <form id="form1" runat="server"> <asp:TreeView ID="TreeView1" runat="server"> <LevelStyles> <asp:TreeNodeStyle Css/> <asp:TreeNodeStyle Css/> <asp:TreeNodeStyle Css/> </LevelStyles> <Nodes> <asp:TreeNode Text="Home" Value="Home"> <asp:TreeNode Text="Products" Value="Products"> <asp:TreeNode Text="First Product" Value="First Product"></asp:TreeNode> <asp:TreeNode Text="Second Product" Value="Second Product"></asp:TreeNode> </asp:TreeNode> <asp:TreeNode Text="Services" Value="Services"> <asp:TreeNode Text="First Service" Value="First Service"></asp:TreeNode> <asp:TreeNode Text="Second Service" Value="Second Service"></asp:TreeNode> </asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> <div> </div> </form></body></html>