如何通过单击其文本而不是+/-来扩展.NET TreeView节点

时间:2011-01-12 16:39:37

标签: asp.net treeview

我一直在使用硬编码的超链接进行我的网络应用程序导航,但该应用程序已经增长,并且管理它变得非常痛苦。我已决定用TreeView控件替换我所拥有的内容,但是我想对它的外观进行一些更改。

是否需要设置任何属性,允许用户通过单击其文本而不是+/-来扩展TreeView节点? 我已经将ShowExpandColapse设置为'false'。

我希望我的最终结果最终类似于MSDN网站左侧的TreeView。

有人能指出我正确的方向吗?

4 个答案:

答案 0 :(得分:6)

TreeNode.SelectAction设置为Expand或SelectExpand。

答案 1 :(得分:2)

您可以使用xml数据源或从db直接绑定到treview

在TreeView DataBound事件中,我们可以编写如下的递归函数来获取每个节点并为它们分配扩展操作。

 protected void TreeView1_DataBound(object sender, EventArgs e)
{

    foreach (TreeNode node in TreeView1.Nodes)
    {
        node.SelectAction = TreeNodeSelectAction.Expand;
        PrintNodesRecursive(node);
    }
}


    public void PrintNodesRecursive(TreeNode oParentNode)
    {


      // Start recursion on all subnodes.
     foreach(TreeNode oSubNode in oParentNode.ChildNodes)
  {
    oSubNode.SelectAction = TreeNodeSelectAction.Expand;
  PrintNodesRecursive(oSubNode);
  }
 }

答案 2 :(得分:0)

我认为你必须在代码中执行此操作:处理Click事件,确定当前选择的树节点,并切换其Expanded属性(我认为这就是这里所称的)。

答案 3 :(得分:0)

你只能这样做! http://geekswithblogs.net/rajiv/archive/2006/03/16/72575.aspx

尊重, 亚历山大