复制代码代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<cabeça>
<title>Destroydrop »Javascripts»Árvore</title>
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<corpo>
<div>
<p><a href="javascript: d.openAll();">abrir tudo</a> | <a href="javascript: d.closeAll();">fechar tudo</a></p>
<script type="texto/javascript">
<!--
d = new dTree('d');
d.add(0,-1,'Minha árvore de exemplo');
d.add(1,0,'Nó 1','exemplo01.html');
d.add(2,0,'Nó 2','exemplo01.html');
d.add(3,1,'Nó 1.1','exemplo01.html');
d.add(4,0,'Nó 3','exemplo01.html');
d.add(5,3,'Nó 1.1.1','exemplo01.html');
d.add(6,5,'Nó 1.1.1.1','exemplo01.html');
d.add(7,0,'Nó 4','exemplo01.html');
d.add(8,1,'Nó 1.2','exemplo01.html');
d.add(9,0,'Minhas fotos','example01.html','Fotos que tirei ao longo dos anos','','','img/imgfolder.gif');
d.add(10,9,'A viagem à Islândia','example01.html','Fotos de Gullfoss e Geysir');
d.add(11,9,'Aniversário da mamãe','exemplo01.html');
d.add(12,0,'Lixeira','example01.html','','','img/trash.gif');
documento.write(d);
//-->
</script>
</div>
<p></p>
</body>
</html>
接下来我们可以分析 我们要是想让他动态的生成 我们要怎么处理
我们可以看到如下代码是生成树的关键:
复制代码代码如下:
<div>
<p><a href="javascript: d.openAll();">abrir tudo</a> | <a href="javascript: d.closeAll();">fechar tudo</a></p>
<script type="texto/javascript">
<!--
d = new dTree('d');
d.add(0,-1,'Minha árvore de exemplo');
d.add(1,0,'Nó 1','exemplo01.html');
d.add(2,0,'Nó 2','exemplo01.html');
d.add(3,1,'Nó 1.1','exemplo01.html');
d.add(4,0,'Nó 3','exemplo01.html');
d.add(5,3,'Nó 1.1.1','exemplo01.html');
d.add(6,5,'Nó 1.1.1.1','exemplo01.html');
d.add(7,0,'Nó 4','exemplo01.html');
d.add(8,1,'Nó 1.2','exemplo01.html');
d.add(9,0,'Minhas fotos','example01.html','Fotos que tirei ao longo dos anos','','','img/imgfolder.gif');
d.add(10,9,'A viagem à Islândia','example01.html','Fotos de Gullfoss e Geysir');
d.add(11,9,'Aniversário da mamãe','exemplo01.html');
d.add(12,0,'Lixeira','example01.html','','','img/trash.gif');
documento.write(d);
//-->
</script>
</div>
我们是不是可以把上面的代码写到.cs文件里面呢! 是可以的
首先我们必须在数据库建立一张表
我们看下其实这里的这么多表字段 个人觉得pid子节点(如果是0那么就是根节点,1子节点,3子节点的子节点) nome要显示的名称 url连接地址título标题 ícone关闭图片的路径 íconeopen打开图片的路径 这里不详细介绍了 大家可以试下我们最主要的就是根据nome de usuário我这里只是一个测试的所以就用了个字符串类型 下面我们来动态加载treeview
首先我们建立一个数据库连接类返回一个Dataset类型 我是个人喜欢你们也可以直接返回一个DataTable
复制代码代码如下:
DataSet privado GetDt (string nome de usuário)
{
string strConn="servidor=ZHOUYUN;database=Mytest;uid=sa;pwd=123456";
Conexão SqlConnection = new SqlConnection(strConn);
string strSql = string.Format("
selecione * na visualização em árvore onde nomedeusuário='{0}'",nomedeusuário);
SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
retornar ds;
}
然后我们把先我们生成书的js放到.cs文件里面来 非常关键的一个就是注意.js文件的倒入e .css 文件的倒入 我们可以用到Page.hearder.innerHTMl=""你要倒入的文件名
我们来看代码
复制代码代码如下:
visualização em árvore pública vazia ()
{
//实力化一个长字符串类型
StringBuilder strbu = new StringBuilder();
//我们在生成一个保留静态文本的位置的类
Literal aceso = 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>";//倒入结束
string nome de usuário = "zhangsan";
DataSet ds = GetDt(nomedeusuário.Trim());
DataTable dt = ds.Tables[0];
//我们现在开始把js文件放到长字符串类型里面
strbu.Append(@"<div class='dtree'>
<p><a href='javascript: d.openAll();'>abrir tudo</a> |
<a href='javascript: d.closeAll();'>fechar tudo</a></p>
<tipo de script='texto/javascript'>
<!--
d = new dTree('d');
d.add(0,-1,'Minha árvore de exemplo');");//这里结束一段长字符穿类型
// 我们开始循环DataTable
for (int i = 1; i <dt.Rows.Count; i++)
{
//我们又开始添加长文件类型 大家这里注意了拼接字符穿
//的时候要仔细点
strbu.Append(@"
d.add(" + i + "," + dt.Rows["pid"] + ",'" +
dt.Rows["nome"] + "','" +
dt.Rows["url"] + "','" +
dt.Rows["destino"] + "','" +
dt.Rows["ícone"] + "','"+
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(aceso);
}