复制番号代番号次のように:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<頭>
<title>Destroydrop » JavaScript » ツリー</title>
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<本文>
<div>
<p><a href="javascript: d.openAll();">すべて開く</a> | <a href="javascript: d.closeAll();">すべて閉じる</a></p>
<script type="text/javascript">
<!--
d = 新しい dTree('d');
d.add(0,-1,'私の例のツリー');
d.add(1,0,'ノード 1','example01.html');
d.add(2,0,'ノード 2','example01.html');
d.add(3,1,'ノード 1.1','example01.html');
d.add(4,0,'ノード 3','example01.html');
d.add(5,3,'ノード 1.1.1','example01.html');
d.add(6,5,'ノード 1.1.1.1','example01.html');
d.add(7,0,'ノード 4','example01.html');
d.add(8,1,'ノード 1.2','example01.html');
d.add(9,0,'私の写真','example01.html','何年もかけて撮った写真','','','img/imgfolder.gif');
d.add(10,9,'アイスランドへの旅行','example01.html','グトルフォスとゲイシールの写真');
d.add(11,9,'お母さんの誕生日','example01.html');
d.add(12,0,'ごみ箱','example01.html','','','img/trash.gif');
document.write(d);
//-->
</script>
</div>
<p></p>
</body>
</html>
次は我们可分析我们要是想想的運動态的生成我们要怎么处理
次のようなコードが生成されたものであることがわかります:
复制番号代番号次のように:
<div>
<p><a href="javascript: d.openAll();">すべて開く</a> | <a href="javascript: d.closeAll();">すべて閉じる</a></p>
<script type="text/javascript">
<!--
d = 新しい dTree('d');
d.add(0,-1,'私の例のツリー');
d.add(1,0,'ノード 1','example01.html');
d.add(2,0,'ノード 2','example01.html');
d.add(3,1,'ノード 1.1','example01.html');
d.add(4,0,'ノード 3','example01.html');
d.add(5,3,'ノード 1.1.1','example01.html');
d.add(6,5,'ノード 1.1.1.1','example01.html');
d.add(7,0,'ノード 4','example01.html');
d.add(8,1,'ノード 1.2','example01.html');
d.add(9,0,'私の写真','example01.html','何年もかけて撮った写真','','','img/imgfolder.gif');
d.add(10,9,'アイスランドへの旅行','example01.html','グトルフォスとゲイシールの写真');
d.add(11,9,'お母さんの誕生日','example01.html');
d.add(12,0,'ごみ箱','example01.html','','','img/trash.gif');
document.write(d);
//-->
</script>
</div>
上のコードを .cs ファイルの場所に書き込むことはできません。
首先我们必须在データベース库建立一张表
ここのこの多数の表フィールドを参照してください。ユーザーが pid 子ポイントを取得します (0 那么は根ポイント、1 子ポイント、3 子ポイントの子ポイント) name 表示される名前 url 表示される名前 url タイトル アイコンのパスiconopen 開いた写真の経路 ここでは何も説明されません 大家は下で讀述できます 我们最優先事項はユーザー名に基づいて判断します 大家も可能です ユーザー名を変更することが参照の文字列 我这里は一试的であるために使用する文字列型です下我们来アニメーション态加下treeview
第一我们建立一データセット库接続类は一のデータセット型を返します、我は个人喜欢你们も一のDataTableを直接返すことができます
复制番号代番号次のように:
プライベート DataSet GetDt(文字列ユーザー名)
{
文字列 strConn="server=ZHOUYUN;database=Mytest;uid=sa;pwd=123456";
SqlConnection conn = 新しい SqlConnection(strConn);
文字列 strSql = string.Format("
select * from Treeview where username='{0}'",username);
SqlDataAdapter da = 新しい SqlDataAdapter(strSql, conn);
DataSet ds = 新しい DataSet();
da.Fill(ds);
DSを返します。
}
その後、私は.css 文書の領域に js を生成して、.js 文書の反転と .css 文書の反転を生成します。Page.hearder.innerHTMl="" を反転します。入った文書名
我们来看代码
复制番号代番号次のように:
パブリック void ツリービュー()
{
//实力化一个长字符串类型
StringBuilder strbu = new StringBuilder();
//我们在生成一保存静态文本の位置的分類
リテラル lit = new Literal();
//ここは私が提案した重要な.js と .cs ファイルを倒した場所です
//page.Header.InnerHtml の意思決定は、このセグメントの文を html 签里に参照することです。
// <head>这个之间</head>
Page.Header.InnerHtml = @"<
link rel='StyleSheet' href='dtree.css' type='text/css'/>
<script type='text/javascript' src='dtree.js'></script>";//倒入结束
文字列ユーザー名 = "zhangsan";
DataSet ds = GetDt(ユーザー名.Trim());
DataTable dt = ds.Tables[0];
//我们现在開始ハンドルjs文件长字符串类型里面に放散
strbu.Append(@"<div class='dtree'>
<p><a href='javascript: d.openAll();'>すべて開く</a> |
<a href='javascript: d.closeAll();'>すべて閉じる</a></p>
<script type='text/javascript'>
<!--
d = 新しい 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["名前"] + "','" +
dt.Rows["url"] + "','" +
dt.Rows["ターゲット"] + "','" +
dt.Rows["アイコン"] + "','"+
dt.Rows["iconopen"]+"');");
}
//再追加长文件型
strbu.Append(@"document.write(d);
-->
</script>
</div> "); //长文件类型追加结束
//现在我们保持静态文本のテキスト值就等我们刚才的长文件型的值
lit.Text = Convert.ToString(strbu);
//那么我们在想我怎么把个段文本放到<body>
//<form>この位置呢</form><boy>
form1.InnerHtml = "";
//我们可直接出.cs文件里面获得form1然后.Controls.Add()
//他只能放静态文本所以我们掴刚才长文件型的值赋给了静态文本
//那么我们这里也就可直接添加进来了
form1.Controls.Add(lit);
}