TreeView节点的查找和隐藏

TreeView节点的查找和隐藏
在开发项目的过程中我们往往要涉及到导航和权限,这时候TreeView就派上用场了。
在TreeView我们往往要查找一个节点,但是我们往往不知道节点的路径,而是了解节点的Value值;同时也需要影藏TreeView中的部分节点。
以下代码在Vs2008 3.5的框架上测试过
public static class StaticClass
{
  public static TreeNode FindByVale(this TreeNodeCollection nodes, string value)
    {
        TreeNode node;
        for (int i = 0; i < nodes.Count; i++)
        {
            node = nodes[i];
            if (node.Value.Equals(value))
                return node;
        }
        for (int i = 0; i < nodes.Count; i++)
        {
            if (nodes[i].ChildNodes.Count > 0)
                return FindByVale(nodes[i].ChildNodes, value);

        }
        return null;
    }

    public static void HideTreeViewNodeByText(this Page page, TreeView tree, string text)
    {
        string js = @" <script type='text/javascript'> var val = '" + text + "'; var tree = document.getElementById('" + tree.ClientID + "'); var hrefs=  tree.getElementsByTagName('a'); for(var i=0;i<hrefs.length;i++)  { var node=hrefs[i]; if(node.innerHTML==val) {  node = node.parentNode.parentNode.parentNode.parentNode; node.style.display = 'none';  } } </script>";
        page.ClientScript.RegisterStartupScript(page.GetType(), tree.ClientID, js);

    }

  public static void HideTreeViewNodeByText(this Page page, TreeView tree, TreeNode node)
    {
        HideTreeViewNodeByText(page, tree, node.Text);
        foreach (TreeNode newNode in node.ChildNodes)
        {
            HideTreeViewNodeByText(page, tree, newNode);
        }

    }

 public static void ShowClientMessage(this Page page, string message)
    {
        string js = string.Format("<script type='text/javascript'>alert('{0}')</script>", message);
        page.ClientScript.RegisterStartupScript(page.GetType(),"page",js);
    }

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值