TreeView控件,xml,sitemap数据源

ContractedBlock.gif ExpandedBlockStart.gif Code
<%@ Page Language="C#" %>

<script runat="server"> 
    
protected void Button1_Click(object sender, System.EventArgs e)
    {
        TreeView1.ExpandAll();
    }
    
protected void Button2_Click(object sender, System.EventArgs e)
    {
        TreeView1.CollapseAll();
    }
    
protected void Button3_Click(object sender, System.EventArgs e)
    {
        
if (TreeView1.CheckedNodes.Count > 0)
        {
            Label1.Text 
= "We are sending you information on:<p>";
            
foreach (TreeNode node in TreeView1.CheckedNodes)
            {
                Label1.Text 
+= node.Text + " " + node.Parent.Text + "<br>";
            }
        }
        
else
        {
            Label1.Text 
= "You didn't select anything. Sorry!";
        }
    }    
    
protected void Button4_Click(object sender, System.EventArgs e)
    {
        TreeNode myNode 
= new TreeNode();
        myNode.Text 
= TextBox1.Text;
        myNode.NavigateUrl 
= TextBox2.Text;
        TreeView2.FindNode(
"Home/Finance/Markets").ChildNodes.Add(myNode);//给Home/Finance/Markets添加子节点
    }   
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    
<title>Latest Hardware</title>
</head>
<body>
    
<form id="Form1" runat="server">
       
        
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="展开" />
        
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="合并" /><br />
    Please select the items you are interested 
in:
        
        
<asp:Button ID="Button3" Runat="server" Text="提交" OnClick="Button3_Click" /><p>
        
<asp:TreeView ID="TreeView1" Runat="server" Font-Underline="False" DataSourceID="XmlDataSource1" ShowCheckBoxes="Leaf">
            
<DataBindings>
                
<asp:TreeNodeBinding DataMember="Hardware" Text="Computer Hardware" />
                
<asp:TreeNodeBinding DataMember="Item" TextField="Category" />
                
<asp:TreeNodeBinding DataMember="Option" TextField="Choice" />
            
</DataBindings>
        
</asp:TreeView>
       
</p>
        
<p>
       
<asp:Label ID="Label1" Runat="Server" ForeColor="Red" />
        
</p>
        
        
<asp:XmlDataSource ID="XmlDataSource1" Runat="server"     
         DataFile
="Hardware.xml">
        
</asp:XmlDataSource>
        
&nbsp;&nbsp;
        
<br />
           
        
<strong>Text of new node:</strong>
        
<asp:TextBox ID="TextBox1" runat="server">
            
</asp:TextBox>
        
<strong>Desination URL of new node:</strong>
        
<asp:TextBox ID="TextBox2" runat="server">
            
</asp:TextBox>
        
<asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Text="增加节点" /><br />
        
<br />
        
<asp:TreeView ID="TreeView2" runat="server" DataSourceID="SiteMapDataSource1">
        
</asp:TreeView>
        
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
        
    
</form>
</body>
</html>

Web.sitemap

ContractedBlock.gif ExpandedBlockStart.gif Code
<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="Home" description="Home Page"  url="Default.aspx">
         
    
<siteMapNode title="News" description="The Latest News"  url="News.aspx">
            
<siteMapNode title="U.S." description="U.S. News"  url="News.aspx?cat=us" />
            
<siteMapNode title="World" description="World News"  url="News.aspx?cat=world" />
            
<siteMapNode title="Technology" description="Technology News" url="News.aspx?cat=tech" />
            
<siteMapNode title="Sports" description="Sports News" url="News.aspx?cat=sport" />
     
</siteMapNode>
  
     
<siteMapNode title="Finance" description="The Latest Financial Information"  url="Finance.aspx">
            
<siteMapNode title="Quotes" description="Get the Latest Quotes"   url="Quotes.aspx" />
            
<siteMapNode title="Markets" description="The Latest Market Information"  url="Markets.aspx"/>
            
<siteMapNode title="U.S. Market Report" description="Looking at the U.S. Market"  url="MarketsUS.aspx" />
            
<siteMapNode title="NYSE" description="The New York Stock Exchange"  url="NYSE.aspx" />
      
</siteMapNode>
     
   
<siteMapNode title="Funds" description="Mutual Funds"  url="Funds.aspx" />

   
<siteMapNode title="Weather" description="The Latest Weather"  url="Weather.aspx" />
</siteMapNode>
</siteMap>

Hardware.xml

ContractedBlock.gif ExpandedBlockStart.gif Code
<?xml version="1.0" encoding="utf-8"?>
<Hardware>
  
<Item Category="Motherboards">
    
<Option Choice="Asus" />
    
<Option Choice="Abit" />
  
</Item>
  
<Item Category="Memory">
    
<Option Choice="128mb" />
    
<Option Choice="256mb" />
    
<Option Choice="512mb" />
  
</Item>
  
<Item Category="HardDrives">
    
<Option Choice="40GB" />
    
<Option Choice="80GB" />
    
<Option Choice="100GB" />
  
</Item>
  
<Item Category="Drives">
    
<Option Choice="CD" />
    
<Option Choice="DVD" />
    
<Option Choice="DVD Burner" />
  
</Item>
</Hardware>

 根据一个010101序列号,初始化treeview

有时候出问题

ContractedBlock.gif ExpandedBlockStart.gif Code
<%@ Master 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 Page_Load(object sender, EventArgs e)
    {
        
string Purview = "101";
        
char[] char_Purview = Purview.ToCharArray();   //二进制串赋值到字符数组
        
        TreeNode[] trrarr 
= new TreeNode[char_Purview.Length];
        
for (int k = 0; k < trrarr.Length - 1; k++)
        {
            trrarr[k] 
= TreeView1.Nodes[k];
        }

        
for (int k = 0; k < trrarr.Length - 1; k++)
        {
            
if (char_Purview[k] == '0')
            {
                TreeView1.Nodes.Remove(trrarr[k]);
            }
        }
    }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>无标题页</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
            
<asp:TreeView ID="TreeView1" runat="server">
                
<Nodes>
                    
<asp:TreeNode Text="新建节点1" Value="新建节点" NavigateUrl="Default2.aspx"></asp:TreeNode>
                    
<asp:TreeNode Text="新建节点2" Value="新建节点" NavigateUrl="Default2.aspx"></asp:TreeNode>
                    
<asp:TreeNode Text="新建节点3" Value="新建节点" NavigateUrl="Default2.aspx"></asp:TreeNode>
                
</Nodes>
            
</asp:TreeView>
        
</asp:contentplaceholder>
    
</div>
    
</form>
</body>
</html>

 其他链接:http://www.cnblogs.com/czh-liyu/archive/2007/11/27/974523.html

 http://www.cnblogs.com/ziyiFly/archive/2008/09/19/1293996.html

转载于:https://www.cnblogs.com/jianlinglo/archive/2009/01/15/1376264.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值