ASP.NET - TreeView Web 服务器控件事件

来源:互联网 发布:淘宝购物车有什么好处 编辑:IT博客网 时间:2019/08/18 20:55

      TreeView Web 服务器控件提供了几个可进行编程的事件。这使您能够在发生事件时运行自定义例程。

 

一、事件

      只有用户通过一些操作(如选择、展开或折叠节点)与控件交互时,才会引发 TreeView 控件事件。如果以编程方式调用选择、展开或折叠方法,则不会引发这些事件。例如,如果调用 Expand 方法,将不会引发任何事件。

 

下表描述了 TreeView 控件支持的事件。

事件

说明

TreeNodeCheckChanged

TreeView 控件的复选框发送到服务器的状态更改时发生。每个 TreeNode 对象发生变化时都将发生一次。

SelectedNodeChanged

TreeView 控件中选定某个节点时发生。

TreeNodeExpanded

TreeView 控件中展开某个节点时发生。

TreeNodeCollapsed

TreeView 控件中折叠某个节点时发生。

TreeNodePopulate

TreeView 控件中展开某个 PopulateOnDemand 属性设置为 true 的节点时发生。

TreeNodeDataBound

将数据项绑定到 TreeView 控件中的某个节点时发生。

 

二、示例

2.1SelectedNodeChanged 事件

下面的代码示例演示如何处理 SelectedNodeChanged 事件以及如何访问引发此事件的 SelectedNode 属性。此示例将 MyLabel 的文本设置为 SelectedNode ToolTip 属性文本。

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)

{

    MyLabel.Text = TreeView1.SelectedNode.ToolTip;

}

 

2.2TreeNodeExpanded 事件和 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.3TreeNodePopulate 事件

下面的代码示例演示如何处理 TreeNodePopulate 事件,以及如何以编程方式将一个新的 TreeNode 对象添加到引发该事件的节点的 ChildNodes 集合中。

protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)

{

    e.Node.ChildNodes.Add(new TreeNode("New Node Populated on Demand"));

}