详细的Hashtable方法treeview遍历请参阅:
http://www.cnblogs.com/vegaslee/archive/2008/04/17/1158321.html
现主要分享如何将父结点的链接改为折叠事件.

看一下treeview页面的客户端源文件,可以发现可折叠的图片事件:TreeView_ToggleNode(...):

<a id="TreeView1n1" 
href="javascript:TreeView_ToggleNode(TreeView1_Data,1,TreeView1n1,' ',TreeView1n1Nodes)">
<img src="/ass/WebResource.axd?d=r0O26jMIZhZAgGcswf2b2tbV9agiSKO716_OUUGC4hI1&amp;t=633468101971007218" 
alt="折叠 社团申请" style="border-width:0;" />
</a>

这回了解了吧?只要在后台,将图片后面的超链接加上这个js脚本就可以了。

代码:

    void hashTable()
    {
        DataTable dtregion = GetTreeTable();
        Hashtable httree = new Hashtable();
        foreach (DataRow myrow in dtregion.Rows)
        {
            TreeNode newnode = new TreeNode();
            newnode.Value = myrow["ID"].ToString();
            newnode.Text = myrow["TableName"].ToString();
            newnode.Target = myrow["Target"].ToString();
            newnode.NavigateUrl = myrow["url"].ToString();
            newnode.ImageToolTip = myrow["ParentID"].ToString();
            newnode.Expanded = bool.Parse(myrow["expanded"].ToString());
            httree.Add(newnode.Value, newnode);
        }
       
        foreach (DataRow treerow in dtregion.Rows)
        {
            TreeNode newnode = (TreeNode)httree[treerow["ID"].ToString()];
            TreeNode parentnode = (TreeNode)httree[newnode.ImageToolTip];
         
            if (parentnode != null)
            {
                parentnode.ChildNodes.Add(newnode);
            }
            else
            {
                this.TreeView1.Nodes.Add(newnode);
            }
 
        }
            AddToggle(this.TreeView1.Nodes[0]);
    }
    private int totalCount=0;
    private void AddToggle(TreeNode rootNode)
    {
        int nodeCount = 0;
        //如果是父结点,加折叠事件
        if (rootNode.ChildNodes.Count > 0)
        {
            int id = totalCount;
            string para2 = "TreeView1n" + id.ToString();
            string para3 = "TreeView1n" + id.ToString() + "Nodes";
            rootNode.NavigateUrl = "javascript:TreeView_ToggleNode(TreeView1_Data," + id.ToString() + "," + para2 + ",' '," + para3 + ")";
        }
        //方法
        while (rootNode.ChildNodes.Count > nodeCount)
        {
            totalCount++;
            AddToggle(rootNode.ChildNodes[nodeCount]);
            nodeCount++;
        }
    }

转载于:https://www.cnblogs.com/amadeuslee/archive/2008/07/15/3744487.html

【Vegas原创】将treeview父结点的链接改为折叠事件相关推荐

  1. 程序员面试题精选100题(48)-二叉树两结点的最低共同父结点[数据结构]

    题目:二叉树的结点定义如下: struct TreeNode { int m_nvalue; TreeNode* m_pLeft; TreeNode* m_pRight; }; 输入二叉树中的两个结点 ...

  2. 二叉树两个结点的最低公共父结点 【微软面试100题 第七十五题】

    题目要求: 输入二叉树中的两个结点,输出这两个及诶单在数中最低的共同父结点. 题目分析: 还有一种情况:如果输入的两个结点中有一个或两个结点不在二叉树中,则输出没有共同父结点: 因此,可以在程序中定义 ...

  3. 程序员面试100题之五:二叉树两个结点的最低共同父结点

    题目:二叉树的结点定义如下: struct TreeNode { int m_nvalue; TreeNode* m_pLeft; TreeNode* m_pRight; }; 输入二叉树中的两个结点 ...

  4. 将森林转换为对应的二叉树,若在二叉树中,结点u时结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是( )

    将森林转换为对应的二叉树,若在二叉树中,结点u时结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是( ① ② ) ① 父子关系 ② 兄弟关系 ③ u的父结点与v的父结点是兄弟关系 森林与 ...

  5. 7-31 二叉树查找结点及父结点

    编写程序在二叉树中查找给定结点及父结点.二叉树结点的数据域值不等于0的整数. 输入格式: 输入第1行为一组用空格间隔的整数,表示带空指针信息的二叉树先根序列,其中空指针用0表示.例如1 5 8 0 0 ...

  6. 短视频搬运如何伪原创 手机小视频用去水印用改md5

             短视频搬运如何伪原创 手机小视频用去水印用改md5         视频伪原创是进行短视频引流的无论是历史,娱乐还是体育,这都是一个技巧,这是读者的相关性..        核心基础 ...

  7. 【Vegas原创】ASP 0131 不允许父路径的解决

    现象: Active Server Pages 错误 'ASP 0131' 不允许的父路径 /admin/login.asp,行 2 包含文件 '../include/config.asp' 不能用 ...

  8. 【Vegas原创】mysql更改用户密码之无敌方法

    修改vegas的密码为345678990,此方法不用flush,另可以用作新建vegas用户. 另此语句任何mysql版本均适用. grantallon db_vegas.*to vegas@&quo ...

  9. 求树中某结点的父结点(长子-兄弟表示法)

    数据结构: struct CSNode; typedef struct CSNode * PCSNode; struct CSNode { DataType info; PCSNode lchild; ...

最新文章

  1. 题目1162:I Wanna Go Home
  2. android 关于多任务下载问题
  3. WinSock三种选择I/O模型
  4. 将chart放入panel中出现滚动条_聊天场景在web前端开发中的体验与优化
  5. 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_04.mybatis概述
  6. 【数字信号】基于matlab GUI数字电子琴【含Matlab源码 273期】
  7. Rhino在java中的用法
  8. 混淆的概念:SIF、CIF、4CIF、D1
  9. 电动汽车充电解决方案领导品牌智充科技获壳牌资本投资;安百拓完成收购测井服务公司Kinetic | 能动...
  10. 封存了一年的网络编程笔记
  11. php奖状,利用CSS布局做一个简单的荣誉证书(代码示例)
  12. RDS数据库空间满了怎么办?
  13. bboss-elasticsearch--使用/教程/实例
  14. 虚拟服务器端口211,双路由器要这样映射-路由器设置端口映射
  15. 计算机提升反思的相关文档,反思教学论文,关于教学反思在提升高校计算机专业青年教师教学水平中的应用相关参考文献资料-免费论文范文...
  16. 安装使用docker harbor作为私有docker服务器的操作步骤及遇到的问题
  17. 高中会考access数据库_信息技术会考ACCESS操作题考点
  18. 有关利用PL2303HX USB到RS232 TTL转换器适配器模块把STC89C52RC等STC系列单片机与计算机连接、向Keil添加STC库及hex文件考录方法小结
  19. 支付宝担保交易接口 php,ThinkPHP实现支付宝接口功能(担保交易)
  20. SCI(科学引文索引)、EI(工程索引)、ISTP(科技会议录索引)

热门文章

  1. python 网关配置界面代码_Linux下使用python自动修改本机网关代码分享
  2. Android 使用 ActivityResult 处理 Activity 之间的数据通信及调起拍照实例
  3. Andriod anim rotate中的属性介绍
  4. c++如何让字符串重复输出_2020.10.02错题总结之字符串相关函数
  5. 注解@Slf4j的使用
  6. 宁波大红鹰学院计算机毕设,网络文化对价值观的影响调查报告马克思主义基本原理概论》课程调查实践报告大学毕业设计.doc...
  7. jbod ugood 磁盘驱动状态_组成原理—磁盘/IO/中断
  8. 天龙八部凤鸣镇目标服务器无法响应,Jmeter给NoHttpResponseException:目标服务器无法响应错误...
  9. sklearn 相似度矩阵_精简易懂,30 分钟学会 SVD 矩阵分解,很强!
  10. html 占位文本,跨浏览器的HTML5占位文本(PlaceHolder)方案