TreeView Web 服务器控件提供了几个可进行编程的事件。这使您能够在发生事件时运行自定义例程。
一、事件
只有用户通过一些操作(如选择、展开或折叠节点)与控件交互时,才会引发 TreeView 控件事件。如果以编程方式调用选择、展开或折叠方法,则不会引发这些事件。例如,如果调用 Expand 方法,将不会引发任何事件。
下表描述了 TreeView 控件支持的事件。
事件
说明
TreeNodeCheckChanged
当 TreeView 控件的复选框发送到服务器的状态更改时发生。每个 TreeNode 对象发生变化时都将发生一次。
SelectedNodeChanged
在 TreeView 控件中选定某个节点时发生。
TreeNodeExpanded
在 TreeView 控件中展开某个节点时发生。
TreeNodeCollapsed
在 TreeView 控件中折叠某个节点时发生。
TreeNodePopulate
在 TreeView 控件中展开某个 PopulateOnDemand 属性设置为 true 的节点时发生。
TreeNodeDataBound
将数据项绑定到 TreeView 控件中的某个节点时发生。
二、示例
2.1、SelectedNodeChanged 事件
下面的代码示例演示如何处理 SelectedNodeChanged 事件以及如何访问引发此事件的 SelectedNode 属性。此示例将 MyLabel 的文本设置为 SelectedNode 的 ToolTip 属性文本。
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
MyLabel.Text = TreeView1.SelectedNode.ToolTip;
}
2.2、TreeNodeExpanded 事件和 TreeNodeCollapsed 事件
下面的代码示例演示如何处理 TreeNodeCollapsed 事件和 TreeNodeExpanded 事件,以及如何访问折叠或展开的 TreeNode 对象。
protected void TreeView1_TreeNodeCollapsed(object sender, TreeNodeEventArgs e)
{
MyLabel.Text = "You collapsed the " + e.Node.Value + " node.";
}
protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
MyLabel.Text = "You expanded the " + e.Node.Value + " node.";
}
2.3、TreeNodePopulate 事件
下面的代码示例演示如何处理 TreeNodePopulate 事件,以及如何以编程方式将一个新的 TreeNode 对象添加到引发该事件的节点的 ChildNodes 集合中。
protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
e.Node.ChildNodes.Add(new TreeNode("New Node Populated on Demand"));
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dodream/archive/2009/12/18/5029945.aspx