更多精彩尽在:www.dearming.cn
TreeView Web 控件:
1; 在网页中以树结构显示分层数据(如目录)。TreeView 控件由
TreeNode
对象组成。
2: 数据源可以是XML、站点地图、和SQL数据库(需要编程做)
XML数据源:可以看到其标签名是可以自己定义的.....每个标签代表一个结点
<?
xml version
=
"
1.0
"
encoding
=
"
utf-8
"
?>
< gen text = " 跟结点 " >
< zi1 text = " 子结点 " url = " ~/TreeView/zi/1.aspx " >
< sun1 text = " 孙结点 " url = " ~TreeView/sun/1.aspx " ></ sun1 >
< sun2 text = " 孙结点 " url = " ~/TreeView/sun/2.aspx " ></ sun2 >
</ zi1 >
< zi2 text = " 子结点2 " url = " ~/TreeView/zi/1.aspx " >
< sun1 text = " 孙结点 " url = " ~TreeView/sun/1.aspx " ></ sun1 >
< sun2 text = " 孙结点 " url = " ~/TreeView/sun/2.aspx " ></ sun2 >
</ zi2 >
</ gen >
< gen text = " 跟结点 " >
< zi1 text = " 子结点 " url = " ~/TreeView/zi/1.aspx " >
< sun1 text = " 孙结点 " url = " ~TreeView/sun/1.aspx " ></ sun1 >
< sun2 text = " 孙结点 " url = " ~/TreeView/sun/2.aspx " ></ sun2 >
</ zi1 >
< zi2 text = " 子结点2 " url = " ~/TreeView/zi/1.aspx " >
< sun1 text = " 孙结点 " url = " ~TreeView/sun/1.aspx " ></ sun1 >
< sun2 text = " 孙结点 " url = " ~/TreeView/sun/2.aspx " ></ sun2 >
</ zi2 >
</ gen >
3:编辑TreeNode数据绑定: 可以为每个结点设置属性
a. NavigateUrlField: 连接的URL
b. TextField:显示的文字
c. SelectAction:点击结点的响应方式 select:要么打开连接要么展开或折叠结点 Expand:展开或折叠 selectexpand:只展开不折叠 none:没响应
4:样式.LevelStyles:可为每个结点设置不同的样式,从跟结点开始添加一个样式就应用到一个跟结点.
5:ShowBox:在哪显示CheckBox,可以根据这个来确定哪些结点选定了,折叠了等
protected
void
TreeView1_TreeNodeCheckChanged(
object
sender, TreeNodeEventArgs e)
... {
Label1.Text = TreeView1.SelectedNode.Text;
}
protected void TreeView1_TreeNodeCollapsed( object sender, TreeNodeEventArgs e)
... {
Label1.Text = "你折叠了" + e.Node.Text;
}
protected void TreeView1_TreeNodeExpanded( object sender, TreeNodeEventArgs e)
... {
Label1.Text = "你展开了" + e.Node.Text;
}
... {
Label1.Text = TreeView1.SelectedNode.Text;
}
protected void TreeView1_TreeNodeCollapsed( object sender, TreeNodeEventArgs e)
... {
Label1.Text = "你折叠了" + e.Node.Text;
}
protected void TreeView1_TreeNodeExpanded( object sender, TreeNodeEventArgs e)
... {
Label1.Text = "你展开了" + e.Node.Text;
}
循环遍历选定的结点:
protected
void
Button1_Click(
object
sender, EventArgs e)
... {
if (TreeView1.CheckedNodes.Count > 0)
...{
foreach (TreeNode tn in TreeView1.CheckedNodes)
...{
if (tn.ChildNodes.Count > 0)
...{
foreach (TreeNode ctn in tn.ChildNodes)
...{
Response.Write(ctn.Text + "<br/>");
}
}
else
...{
Response.Write(tn.Text + "<br/>");
}
}
}
}
... {
if (TreeView1.CheckedNodes.Count > 0)
...{
foreach (TreeNode tn in TreeView1.CheckedNodes)
...{
if (tn.ChildNodes.Count > 0)
...{
foreach (TreeNode ctn in tn.ChildNodes)
...{
Response.Write(ctn.Text + "<br/>");
}
}
else
...{
Response.Write(tn.Text + "<br/>");
}
}
}
}
6:关于使用SQL来做数据源呢,代码有点小多....太晚了,不想写了.....暂时就这样吧