<div class="dtree">
<p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>
<script type="text/javascript">
<!--
d = new dTree('d');
d.add(0,-1,'My example tree');
d.add(1,0,'Node 1','example01.html');
d.add(2,0,'Node 2','example01.html');
d.add(3,1,'Node 1.1','example01.html');
d.add(4,0,'Node 3','example01.html');
d.add(5,3,'Node 1.1.1','example01.html');
d.add(6,5,'Node 1.1.1.1','example01.html');
d.add(7,0,'Node 4','example01.html');
d.add(8,1,'Node 1.2','example01.html');
d.add(9,0,'My Pictures','example01.html','Pictures I've taken over the years','','','img/imgfolder.gif');
d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir');
d.add(11,9,'Mom's birthday','example01.html');
d.add(12,0,'Recycle Bin','example01.html','','','img/trash.gif');
document.write(d);
//-->
</script>
</div>
<p></p>
</body>
</html>
我們可以看到如下代碼是生成樹的關鍵:
首先我們必須在數據庫建立一張表
我們看下其實這里的這么多表字段 個人覺得 pid子節點(如果是0那么就是根節點,1子節點,3子節點的子節點) name要顯示的名稱 url連接地址 title標題 icon關閉圖片的路徑 iconopen打開圖片的路徑 這里不詳細介紹了 大家可以試下 我們最主要的就是根據username 進行判斷 大家也可以是把username換成是引用的字段 我這里只是一個測試的所以就用了個字符串類型 下面我們來動態加載treeview
首先我們建立一個數據庫連接類返回一個Dataset類型 我是個人喜歡你們也可以直接返回一個DataTable
}
我們來看代碼
string username = "zhangsan";
DataSet ds = GetDt(username.Trim());
DataTable dt = ds.Tables[0];
//我們現在開始把js文件放到長字符串類型里面
strbu.Append(@"<div class='dtree'>
<p><a href='javascript: d.openAll();'>open all</a> |
<a href='javascript: d.closeAll();'>close all</a></p>
<script type='text/javascript'>
<!--
d = new dTree('d');
d.add(0,-1,'My example tree');");//這里結束一段長字符穿類型
// 我們開始循環DataTable
for (int i = 1; i < dt.Rows.Count; i++)
{
//我們又開始添加長文件類型 大家這里注意了拼接字符穿
//的時候要仔細點
strbu.Append(@"
d.add(" + i + "," + dt.Rows["pid"] + ",'" +
dt.Rows["name"] + "','" +
dt.Rows["url"] + "','" +
dt.Rows["target"] + "','" +
dt.Rows["icon"] + "','"+
dt.Rows["iconopen"]+"');");
}
//再次添加長文件類型
strbu.Append(@"document.write(d);
-->
</script>
</div> "); //長文件類型添加結束
//現在我們保留靜態文本的text值就等于 我們剛才的長文件類型的值
lit.Text = Convert.ToString(strbu);
//那么我們在想 我怎么把個段文本放到<body>
//<form>這個位置呢</form><boy>
form1.InnerHtml = "";
//我們可以直接從.cs文件里面獲得form1然后.Controls.Add()
//他只能放靜態文本所以我們把剛才長文件類型的值賦給了靜態文本
//那么我們這里也就可以直接添加進來了
form1.Controls.Add(lit);
}
新聞熱點
疑難解答