第二十二讲 TreeView控件教学目的:
一、掌握 TreeView控件的基本用法二、利用 TreeView控件实现导航功能教学重点:
一,TreeView控件的动态添加和删除二、利用 TreeView控件实现导航功能一,TreeView概述
几乎每个网站里,
为了方便用户在网站中进行页面导航,
都少不了使用页面导航控件。有了页面导航的功能,用户可以很方便地在一个复杂的网站中进行页面之间的跳转。
TreeView控件显示 Node对象的分层列表,
每个 Node对象均由一个标签和一个可选的位图组成。 TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。创建了 TreeView控件之后,可以通过设置属性与调用方法对各 Node对象进行操作,这些操作包括添加、删除、对齐和其它操作。
可以编程展开与折回 Node 对象来显示或隐藏所有子节点。
TreeView控件的各个部分
为了掌握 TreeView控件的使用,必须理解该控件创建的层次结构树的每个部分所使用的术语。
首先,TreeView控件上的每个元素或每一项都称为 节点 。层次结构中最上面的节点是 根节点 。
TreeView控件可以有多个根节点。在层次结构中,
任何节点,包括根节点在内,如果在它的下面还有节点,就称为 父节点 。每个父节点可以有一个或多个子节点。如果节点不包含子节点,就称为叶节点 。
一般把 TreeView控件称之为树型控件,把其中的每一个节点称之为 TreeNode
TreeView控件,以树型结构递归显示数据,
可扩展和折叠的分支,节点是可导航,可选择的,也可添加选择框。
TreeNode对象,TreeNodes(节点对象)可以通过声明方式,写代码方式或通过数据邦定方式添加;可以按需装载;可以嵌套二,TreeView的常用属性二,TreeView控件的常用事件
asp.net2.0 treeview
三,TreeView控件的常用方法
CollapseAll:关闭树中的每个节点
DataBind:绑定到数据源
ExpandAll:打开树中的每个节点
FindControl:在当前的控件中查找指定的控件
FindNode,检索控件中指定路径处的
TreeNode 对象
Foucs:为控件设置输入焦点
获取父节点:
node.getParent()
获取子节点:
node.getChildren()
判断节点是否有子节点
node.getChildren().length > 0
四,TreeView应用举例
1、在 XML文件中绑定 TreeView控件
要填充 TreeView控件的节点,一种比较好的方式是从 XML文件中填充 TreeView控件。
<?xml version="1.0" encoding="utf-8"?>
<Hardware>
<Item Category="Motherboards">
<Option Choice="Asus" />
<Option Choice="Abit" />
</Item>
<Item Category="Memory">
<Option Choice="128mb" />
<Option Choice="256mb" />
<Option Choice="512mb" />
</Item>
<Item Category="HardDrives">
<Option Choice="40GB" />
<Option Choice="80GB" />
<Option Choice="100GB" />
</Item>
<Item Category="Drives">
<Option Choice="CD" />
<Option Choice="DVD" />
<Option Choice="DVD Burner" />
</Item>
</Hardware>
2、在 TreeView中选择多个选项
TreeView控件可以显示一个层次结构列表,
让终端用户从中 选择一项或多项。
TreeView控件的一个重要的内置功能是在列表中,把复选框放在层次结构项中的节点旁边。这些复选框可以让终端用户进行多项选择。 TreeView控件有一个
ShowCheckBoxes属性,可用于在项目列表中给许多不同类型的节点创建复选框。
属性 ShowCheckBoxes的值如下所示:
All,每个节点应用复选框
Leaf,给没有子元素的节点应用复选框
None,不应用复选框
Parent,给父节点应用复选框。父节点至少有一个与之相关的子节点
Root,给每个根节点应用复选框在使用 ShowCheckBoxes属性时,可以在控件中明确设置它:
protected void Button1_Click(object sender,
System.EventArgs e)
{
if (TreeView1.CheckedNodes.Count > 0)
{
Label1.Text = "We are sending you information
on:<p>";
foreach (TreeNode node in
TreeView1.CheckedNodes)
{
Label1.Text += node.Text + " " +
node.Parent.Text + "<br>";
}
}
else
{
Label1.Text = "You didn't select anything,
Sorry!";
}
}
3、指定用于连接节点的线条
把 TreeView控件的 ShowLines属性 设置为
True即可 (该属性默认设置为 False)。
单击页面上 TreeView控件的智能标记。找到 Customize Line Images选项。单击它,
就会打开”自定义行图标”对话框,如下图所示:
4、编程使用 TreeView控件
TreeView控件有一个相关的 TreeView类,
可以在代码中完整地管理 TreeView控件及其操作方式。
A,编程扩展和折叠节点
使用 TreeView控件可以在层次结构中编程扩展或折叠节点。为此,要使用 TreeView
类中的 ExpandAll或 CollapseAll方法。
protected void Button1_Click(object sender,
System.EventArgs e)
{
TreeView1.ExpandAll();
}
protected void Button2_Click(object sender,
System.EventArgs e)
{
TreeView1.CollapseAll();
}
用户可能想把 TreeView1.ExpandAll()命令放在 Page_Load事件中,但如果这么做,代码就不工作了,应使用 TreeView控件中的
OnDataBound事件,
protected void
TreeView1_DataBound(object sender,
System.EventArgs e)
{
TreeView1.ExpandAll();
}
B、添加删除节点思路:使用 FindNode方法查找对应节点。
找到它后,就可以使用 ChildNodes.Add方法,传送一个 TreeNode对象实例,来添加子节点 。
protected void Button3_Click(object
sender,System.EventArgs e)
{
TreeNode myNode = new TreeNode();
myNode.Text = TextBox1.Text;
myNode.NavigateUrl = TextBox2.Text;
TreeView1.FindNode("Home/Finance/M
arkets").ChildNodes.Add(myNode);
}
一、掌握 TreeView控件的基本用法二、利用 TreeView控件实现导航功能教学重点:
一,TreeView控件的动态添加和删除二、利用 TreeView控件实现导航功能一,TreeView概述
几乎每个网站里,
为了方便用户在网站中进行页面导航,
都少不了使用页面导航控件。有了页面导航的功能,用户可以很方便地在一个复杂的网站中进行页面之间的跳转。
TreeView控件显示 Node对象的分层列表,
每个 Node对象均由一个标签和一个可选的位图组成。 TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。创建了 TreeView控件之后,可以通过设置属性与调用方法对各 Node对象进行操作,这些操作包括添加、删除、对齐和其它操作。
可以编程展开与折回 Node 对象来显示或隐藏所有子节点。
TreeView控件的各个部分
为了掌握 TreeView控件的使用,必须理解该控件创建的层次结构树的每个部分所使用的术语。
首先,TreeView控件上的每个元素或每一项都称为 节点 。层次结构中最上面的节点是 根节点 。
TreeView控件可以有多个根节点。在层次结构中,
任何节点,包括根节点在内,如果在它的下面还有节点,就称为 父节点 。每个父节点可以有一个或多个子节点。如果节点不包含子节点,就称为叶节点 。
一般把 TreeView控件称之为树型控件,把其中的每一个节点称之为 TreeNode
TreeView控件,以树型结构递归显示数据,
可扩展和折叠的分支,节点是可导航,可选择的,也可添加选择框。
TreeNode对象,TreeNodes(节点对象)可以通过声明方式,写代码方式或通过数据邦定方式添加;可以按需装载;可以嵌套二,TreeView的常用属性二,TreeView控件的常用事件
asp.net2.0 treeview
三,TreeView控件的常用方法
CollapseAll:关闭树中的每个节点
DataBind:绑定到数据源
ExpandAll:打开树中的每个节点
FindControl:在当前的控件中查找指定的控件
FindNode,检索控件中指定路径处的
TreeNode 对象
Foucs:为控件设置输入焦点
获取父节点:
node.getParent()
获取子节点:
node.getChildren()
判断节点是否有子节点
node.getChildren().length > 0
四,TreeView应用举例
1、在 XML文件中绑定 TreeView控件
要填充 TreeView控件的节点,一种比较好的方式是从 XML文件中填充 TreeView控件。
<?xml version="1.0" encoding="utf-8"?>
<Hardware>
<Item Category="Motherboards">
<Option Choice="Asus" />
<Option Choice="Abit" />
</Item>
<Item Category="Memory">
<Option Choice="128mb" />
<Option Choice="256mb" />
<Option Choice="512mb" />
</Item>
<Item Category="HardDrives">
<Option Choice="40GB" />
<Option Choice="80GB" />
<Option Choice="100GB" />
</Item>
<Item Category="Drives">
<Option Choice="CD" />
<Option Choice="DVD" />
<Option Choice="DVD Burner" />
</Item>
</Hardware>
2、在 TreeView中选择多个选项
TreeView控件可以显示一个层次结构列表,
让终端用户从中 选择一项或多项。
TreeView控件的一个重要的内置功能是在列表中,把复选框放在层次结构项中的节点旁边。这些复选框可以让终端用户进行多项选择。 TreeView控件有一个
ShowCheckBoxes属性,可用于在项目列表中给许多不同类型的节点创建复选框。
属性 ShowCheckBoxes的值如下所示:
All,每个节点应用复选框
Leaf,给没有子元素的节点应用复选框
None,不应用复选框
Parent,给父节点应用复选框。父节点至少有一个与之相关的子节点
Root,给每个根节点应用复选框在使用 ShowCheckBoxes属性时,可以在控件中明确设置它:
protected void Button1_Click(object sender,
System.EventArgs e)
{
if (TreeView1.CheckedNodes.Count > 0)
{
Label1.Text = "We are sending you information
on:<p>";
foreach (TreeNode node in
TreeView1.CheckedNodes)
{
Label1.Text += node.Text + " " +
node.Parent.Text + "<br>";
}
}
else
{
Label1.Text = "You didn't select anything,
Sorry!";
}
}
3、指定用于连接节点的线条
把 TreeView控件的 ShowLines属性 设置为
True即可 (该属性默认设置为 False)。
单击页面上 TreeView控件的智能标记。找到 Customize Line Images选项。单击它,
就会打开”自定义行图标”对话框,如下图所示:
4、编程使用 TreeView控件
TreeView控件有一个相关的 TreeView类,
可以在代码中完整地管理 TreeView控件及其操作方式。
A,编程扩展和折叠节点
使用 TreeView控件可以在层次结构中编程扩展或折叠节点。为此,要使用 TreeView
类中的 ExpandAll或 CollapseAll方法。
protected void Button1_Click(object sender,
System.EventArgs e)
{
TreeView1.ExpandAll();
}
protected void Button2_Click(object sender,
System.EventArgs e)
{
TreeView1.CollapseAll();
}
用户可能想把 TreeView1.ExpandAll()命令放在 Page_Load事件中,但如果这么做,代码就不工作了,应使用 TreeView控件中的
OnDataBound事件,
protected void
TreeView1_DataBound(object sender,
System.EventArgs e)
{
TreeView1.ExpandAll();
}
B、添加删除节点思路:使用 FindNode方法查找对应节点。
找到它后,就可以使用 ChildNodes.Add方法,传送一个 TreeNode对象实例,来添加子节点 。
protected void Button3_Click(object
sender,System.EventArgs e)
{
TreeNode myNode = new TreeNode();
myNode.Text = TextBox1.Text;
myNode.NavigateUrl = TextBox2.Text;
TreeView1.FindNode("Home/Finance/M
arkets").ChildNodes.Add(myNode);
}