亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 利用treeview控件動態生成無限級樹.txt

?? ASP.NET學習大全(高手整理)。。。。。。。。。。。共同學習
?? TXT
字號:
利用TreeView控件動態生成無限級樹 


項目需要,有一個樹形菜單需要動態生成,聯想到TreeView控件,決定用TreeView來實現

首先注意到了TreeView控件有一個屬性TreeNodeSrc
這個屬性可以指定一個固定格式的xml文件
<?xml version="1.0" encoding="utf-8" ?> 
<TREENODES>
    <TREENODE text="aaaaaaaa" CheckBox="true"></TREENODE>
    <TREENODE text="bbbbbbbb" CheckBox="true"></TREENODE>
    <TREENODE text="cccccccccc" EXPANDED="true" CheckBox="true">
        <TREENODE text="ddddddddd" CheckBox="true"></TREENODE>
        <TREENODE text="eeeeeeeee" CheckBox="true"></TREENODE>
    </TREENODE>
    <TREENODE text="fffffffffffff" CheckBox="true"></TREENODE>
</TREENODES>于是就想把數據庫里的文件讀出來寫入一個xml文件中,然后再進行綁定
既然是無限級菜單,肯定要用到遞歸來實現,于是就寫了一個如下的遞歸算法
private void CreateXml(XmlDocument objXMLDoc, XmlElement objRootElem, int belong)
        {
            //Get DataSet 這里的DataSet具體獲取方法我省略掉了
            DataSet ds = new DataSet();
            
            foreach(DataRow dr in ds.Tables[0].Rows)
            {
                //Create ChildNode TreeNode
                XmlElement objXmlElem = objXMLDoc.CreateElement("TREENODE");
                objRootElem.AppendChild(objXmlElem);

                //Create Attributes Text
                XmlAttribute objXmlAttText = objXMLDoc.CreateAttribute("Text");
                objXmlAttText.Value = dr["text"].ToString().Trim();
                objXmlElem.SetAttributeNode(objXmlAttText);

                //Create Attributes CheckBox
                XmlAttribute objXmlAttCB = objXMLDoc.CreateAttribute("CheckBox");
                objXmlAttCB.Value = "True";
                objXmlElem.SetAttributeNode(objXmlAttCB);

                int id = int.Parse(dr["id"].ToString().Trim());
                CreateXml(objXMLDoc, objXmlElem, id);
            }
        }
然后用下面的方法來實現綁定
private void BindXmlTree()
        {
            //Create Xml File
            XmlDocument objXmlDoc = new XmlDocument();

            //Insert Xml Declaration
            XmlDeclaration objXmlDeclare = objXmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "yes");
            objXmlDoc.InsertBefore(objXmlDeclare, objXmlDoc.DocumentElement);

            XmlElement objRootElem = objXmlDoc.CreateElement("TREENODES");
            objXmlDoc.AppendChild(objRootElem);

            CreateXml(objXmlDoc, objRootElem, 0);

            objXmlDoc.Save("E:\\TreeMenu.xml");
            TreeView2.TreeNodeSrc = "TreeMenu.xml";
        }
到最后兩行我就停住了,因為問題出現了
生成的objXmlDoc文件不知道用什么方式才能綁定上TreeNodeSrc
我試了試直接 TreeView2.TreeNodeSrc = objXmlDoc;
可是TreeNodeSrc是String型的數據,沒辦法
有沒有什么方法可以不保存這個objXmlDoc文件而直接綁定呢?

于是就換了個辦法來實現
TreeView有一個節點控件叫TreeNode,直接把數據給TreeNode上


private void CreateTree(int belong, Microsoft.Web.UI.WebControls.TreeNode rootnode)
        {
            DataSet ds = new DataSet();

            foreach(DataRow dr in ds.Tables[0].Rows)
            {
                Microsoft.Web.UI.WebControls.TreeNode treenode = new Microsoft.Web.UI.WebControls.TreeNode();
                treenode.Text = dr["text"].ToString().Trim();
                treenode.CheckBox = true;
                treenode.Expanded = true;
                rootnode.Nodes.Add(treenode);

                int id = int.Parse(dr["id"].ToString().Trim());
                CreateTree(id, treenode);
            }
        }
用的是一樣的遞歸思想,而且我發現這樣做還比較簡單一些,很多TreeNode自帶的屬性很方便修改
如果用Xml還要手動去添加每一個屬性,麻煩
在PageLoad里觸發這個方法
private void Page_Load(object sender, System.EventArgs e)
        {
            Microsoft.Web.UI.WebControls.TreeNode rootnode = new Microsoft.Web.UI.WebControls.TreeNode();
            rootnode.Expanded = true;
            TreeView2.Nodes.Add(rootnode);
            CreateTree(0, rootnode);
        }注意,這里為了實現遞歸,不得不添加一個空的根節點rootnode

這樣就算大致實現了
另,數據庫里的數據格式是這樣的
-----------------------------------------
id                    text                     belong
1                    aaaa                    0
2                    bbbb                   0
3                    cccc                    0
4                    dddd                    1
5                    eeee                    2
6                    ffff                        4



==========================================


private void InitTree(TreeNodeCollection Nds,string parentId) 
{ 
TreeNode tmpNd; 
DataRow[] rows = data.Tables[0].Select("ParentId='" + parentId + "'"); 
foreach(DataRow row in rows) 
{ 
tmpNd = new TreeNode(); 
tmpNd.ID = row["NodeId"].ToString(); 
tmpNd.Text = row["NodeName"].ToString(); 
tmpNd.NavigateUrl = row["Url"].ToString(); 
Nds.Add(tmpNd); 
if (row["NodeId"].ToString()!="2") 
InitTree(tmpNd.Nodes, tmpNd.ID); 
} 

============================================



# re: 利用TreeView控件動態生成無限級樹  回復    
2006-01-27 00:31 by QuickTech 
Private Sub LoadTrv() 
Dim Root As New Microsoft.Web.UI.WebControls.TreeNode 
Root.Text = "ALL:" 
Root.ImageUrl = "../images/trv_root.gif" 
Root.SelectedImageUrl = "../images/trv_root.gif" 
Root.ExpandedImageUrl = "../images/trv_root.gif" 

Dim db As New DB 
Dim con As SqlClient.SqlConnection = New SqlClient.SqlConnection(db.Constr) 
Dim dr As SqlClient.SqlDataReader 
Dim SQL As String = "select Floor_value,Floor_Title from basic_floor order by floor_value" 
Dim cmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(SQL, con) 
con.Open() 
dr = cmd.ExecuteReader 
While dr.Read 
Dim FloorNd As New Microsoft.Web.UI.WebControls.TreeNode 
FloorNd.Text = dr("Floor_value") & ":" & dr("Floor_Title") 
FloorNd.ImageUrl = "../images/TrvST2.bmp" 
FloorNd.SelectedImageUrl = "../images/trvst10.bmp" 
FloorNd.ExpandedImageUrl = "../images/trvst1.bmp" 
Root.Nodes.Add(FloorNd) 
End While 
dr.Close() 
con.Close() 
con.Dispose() 
cmd.Dispose() 
End Sub 

為什么我的代碼不能顯示呢?????????
# re: 利用TreeView控件動態生成無限級樹  回復    
2006-01-27 00:34 by QuickTech 
對不起 
我的根都沒加 
問題解決了 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成熟亚洲日本毛茸茸凸凹| 欧美浪妇xxxx高跟鞋交| 91久久国产综合久久| 91精品国产手机| 亚洲自拍偷拍av| 成人激情免费网站| 制服丝袜中文字幕一区| 国产精品美女久久久久久2018| 午夜av一区二区| 91小视频在线免费看| 亚洲精品一区二区三区99| 亚洲成精国产精品女| 91视频国产资源| 国产清纯美女被跳蛋高潮一区二区久久w | 日韩免费看的电影| 亚洲宅男天堂在线观看无病毒| 成人小视频在线| 久久色.com| 精品一区二区在线看| 欧美一区二区三区精品| 亚洲gay无套男同| 欧美三片在线视频观看| 亚洲欧美另类在线| 97精品电影院| 中文字幕一区二区视频| 成人毛片在线观看| 久久综合狠狠综合久久激情| 久草中文综合在线| 欧美电影免费观看高清完整版| 午夜精品久久久久影视| 欧美三日本三级三级在线播放| 一区二区三区自拍| 色综合天天综合网国产成人综合天| 亚洲欧洲日韩在线| 91亚洲男人天堂| 亚洲精品国产成人久久av盗摄| heyzo一本久久综合| 亚洲欧美日韩人成在线播放| 一本色道久久综合狠狠躁的推荐| 综合欧美亚洲日本| 色综合天天在线| 亚洲1区2区3区视频| 欧美日韩一本到| 日本亚洲电影天堂| 日韩欧美色综合网站| 九九精品一区二区| 国产三级精品在线| 91麻豆蜜桃一区二区三区| 亚洲综合在线观看视频| 欧美色综合久久| 亚洲1区2区3区4区| 久久伊人中文字幕| 95精品视频在线| 亚洲一区二区三区视频在线| 欧美一区二区在线免费播放| 国产一区激情在线| 亚洲日本青草视频在线怡红院| 日本韩国欧美一区| 亚洲猫色日本管| 日韩你懂的在线播放| 国产精品家庭影院| 欧美日韩亚洲综合在线| 蜜臀a∨国产成人精品| 国产夜色精品一区二区av| eeuss鲁片一区二区三区 | 韩国在线一区二区| 亚洲丝袜制服诱惑| 日韩亚洲欧美综合| 成人国产视频在线观看| 亚洲第四色夜色| 国产日产欧美一区| 欧美日韩高清在线| 国产99久久久久| 亚洲h精品动漫在线观看| 久久久综合精品| 欧美日韩中文字幕一区| 岛国精品在线播放| 天堂av在线一区| 1区2区3区精品视频| 欧美一三区三区四区免费在线看 | 欧美性受极品xxxx喷水| 久99久精品视频免费观看| 亚洲美女淫视频| 久久美女艺术照精彩视频福利播放 | 91精品国产免费| 99re在线视频这里只有精品| 久久精品久久99精品久久| 一区二区三区av电影 | 欧美日本视频在线| 成人av在线播放网站| 麻豆精品在线看| 亚洲成a人v欧美综合天堂下载| 国产精品麻豆99久久久久久| 欧美电影精品一区二区| 欧美喷潮久久久xxxxx| 色综合欧美在线视频区| 成人涩涩免费视频| 国产一区二区看久久| 日韩电影免费在线观看网站| 亚洲一区二区三区在线播放 | 欧美zozozo| 91精品国产欧美一区二区18| 欧美综合一区二区| 色综合天天做天天爱| 国产a区久久久| 国产毛片精品国产一区二区三区| 免费成人av资源网| 蜜桃av一区二区| 日韩高清一区在线| 日韩福利视频网| 男女性色大片免费观看一区二区 | 精品国产乱码久久久久久免费| 欧美午夜视频网站| 91成人在线精品| 一道本成人在线| 在线看不卡av| 欧美日韩一区二区三区免费看| 欧美色中文字幕| 69p69国产精品| 日韩欧美www| 精品久久99ma| 久久蜜桃av一区二区天堂| 国产日韩欧美精品电影三级在线| 久久在线观看免费| 国产精品午夜电影| 亚洲欧美偷拍三级| 一区二区三区四区高清精品免费观看 | 91免费精品国自产拍在线不卡| 成人av网站在线观看| 91麻豆免费观看| 欧美日韩高清影院| 日韩欧美一区二区在线视频| 久久久噜噜噜久久中文字幕色伊伊| 国产午夜精品久久| 亚洲女人****多毛耸耸8| 一区二区三区蜜桃网| 日本视频中文字幕一区二区三区| 久久国产婷婷国产香蕉| 国产一区二区精品在线观看| 99久久久国产精品免费蜜臀| 欧美日本在线看| 久久亚洲精华国产精华液 | 国产精品欧美极品| 亚洲一区av在线| 美国精品在线观看| 国产999精品久久| 欧美在线观看视频一区二区 | 欧美久久久久久久久久| 欧美电视剧在线看免费| 国产精品久久久久影视| 亚洲成人福利片| 国产成人免费在线观看不卡| 色视频欧美一区二区三区| 欧美一级艳片视频免费观看| 国产午夜精品一区二区三区视频| 亚洲一区二区美女| 风间由美一区二区av101 | 国产精品乱码一区二区三区软件| 亚洲综合色区另类av| 国产精品影视在线| 欧美日韩成人一区| 中文字幕 久热精品 视频在线| 亚洲一区二区三区三| 国产成+人+日韩+欧美+亚洲| 欧美日韩在线一区二区| 欧美韩国日本综合| 蜜臀久久99精品久久久久宅男| 97精品电影院| 久久久久久久久久久久电影 | 欧美岛国在线观看| 一区二区三区国产精品| 成人免费毛片片v| 日韩视频123| 亚洲v日本v欧美v久久精品| 成人精品高清在线| 久久欧美一区二区| 日本午夜精品一区二区三区电影| 91日韩精品一区| 国产精品嫩草久久久久| 国产一区 二区 三区一级| 717成人午夜免费福利电影| 亚洲欧美电影一区二区| 成人小视频免费观看| 久久综合九色综合97婷婷| 青青草国产成人av片免费| 欧美午夜精品久久久久久孕妇 | 色8久久人人97超碰香蕉987| 国产视频一区二区在线| 久久av中文字幕片| 91精品中文字幕一区二区三区 | 一区二区三区日本| 91女厕偷拍女厕偷拍高清| 综合久久久久综合| 99综合电影在线视频| 欧美经典一区二区| 成人中文字幕电影| 国产日韩欧美制服另类| 成人高清在线视频| 国产精品嫩草99a| 91蜜桃在线观看|