由于数据量太大,加载树时间很长,所以进行了优化

前台 .aspx

  1. <asp:Panel ID="Panel2" runat="server" Height="600px" ScrollBars="Auto">
  2. <asp:TreeView ID="TreeView1" runat="server" ForeColor="Black" OnTreeNodeExpanded="TreeView1_TreeNodeExpanded" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
  3. <LeafNodeStyle HorizontalPadding="3px" />
  4. <ParentNodeStyle HorizontalPadding="3px" />
  5. <RootNodeStyle HorizontalPadding="3px" />
  6. <SelectedNodeStyle ForeColor="#009933" />
  7. </asp:TreeView>
  8. </asp:Panel>

后台.cs

  1. #region wsw更改树的加载方式
  2. private void LoadNewTree()
  3. {
  4. DataTable dtp = pagBLL.GetList(" superfuncid=0 order by sort asc").Tables[];
  5. if (dtp.Rows.Count > )
  6. {
  7. //首先清除树型控件内的结点
  8. this.TreeView1.Nodes.Clear();
  9. for (int i = ; i < dtp.Rows.Count; i++)
  10. {
  11.  
  12. //实例出一个结点
  13. TreeNode Node = new TreeNode();
  14. Node.Text = dtp.Rows[i]["funcname"].ToString();
  15. Node.Value = dtp.Rows[i]["pagefuncid"].ToString();
  16. Node.ToolTip = dtp.Rows[i]["funcurl"].ToString();
  17. Node.ImageUrl = "../../" + dtp.Rows[i]["imageurl"].ToString();
  18. this.TreeView1.Nodes.Add(Node);//增加父节点,这时直接往树TreeView1上加
  19. this.LoadAddSign(Node.ChildNodes,Convert.ToInt32(dtp.Rows[i]["pagefuncid"].ToString()));//wsw更改
  20. TreeView1.CollapseAll();
  21.  
  22. }
  23. }
  24. }
  25. /// <summary>
  26. /// 用于加载显示 树形控件 +号的,加载下面的一个节点。
  27. /// </summary>
  28. /// <param name="Conn"></param>
  29. /// <param name="tn"></param>
  30. /// <param name="DeptId"></param>
  31. private void LoadAddSign( TreeNodeCollection tn, int DeptId) //wsw更改
  32. {
  33. DataTable table = pagBLL.GetList(" superfuncid=" + DeptId + " order by sort asc").Tables[];
  34. if (table.Rows.Count > )
  35. {
  36. //加载"一个"1级节点,就是为了显示 + 号
  37. tn.Add(new TreeNode());
  38.  
  39. }
  40. }
  41. /// <summary>
  42. /// 点击 + 号是节点展开事件
  43. /// </summary>
  44. /// <param name="sender"></param>
  45. /// <param name="e"></param>
  46. protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
  47. {
  48. TreeNode node = e.Node;
  49. if (node.Expanded == true)
  50. {
  51. string bm = e.Node.Value.ToString();//wsw更改
  52. DataTable table = pagBLL.GetList(" superfuncid=" + bm + " order by sort asc").Tables[];
  53.  
  54. node.ChildNodes.Clear(); //清除之前加载的空节点。
  55. if (table.Rows.Count > )
  56. {
  57. for (int i = ; i < table.Rows.Count; i++)
  58. {
  59. TreeNode Node = new TreeNode();
  60. Node.Text = table.Rows[i]["funcname"].ToString();
  61. Node.Value = table.Rows[i]["pagefuncid"].ToString();
  62. Node.ToolTip = table.Rows[i]["funcurl"].ToString();
  63. Node.ImageUrl = "../../" + table.Rows[i]["imageurl"].ToString();
  64. node.ChildNodes.Add(Node);//增加父节点,这时直接往树TreeView1上加
  65. this.LoadAddSign(Node.ChildNodes, Convert.ToInt32(table.Rows[i]["pagefuncid"].ToString()));//wsw更改
  66. }
  67.  
  68. }
  69. }
  70.  
  71. }
  72. #endregion

asp.net中TreeView的大数据加载速度优化的更多相关文章

  1. [Aaronyang] 写给自己的WPF4.5 笔记6[三巴掌-大数据加载与WPF4.5 验证体系详解 2/3]

    我要做回自己--Aaronyang的博客(www.ayjs.net) 博客摘要: Virtualizing虚拟化DEMO 和 大数据加载的思路及相关知识 WPF数据提供者的使用ObjectDataPr ...

  2. 记一次cocos项目的加载速度优化

    半个月前,我们用cosos creator做了一个简单的小游戏,也许算不上小游戏吧..一边学cocos,一边做,几经波折后终于上线了.然鹅,功能是实现了,但是加载速度十分感人(毕竟没经验嘛,无辜脸). ...

  3. WPF 大数据加载过程中的等待效果——圆圈转动

    大家肯定遇到过或将要遇到加载大数据的时候,如果出现长时间的空白等待,一般人的概念会是:难道卡死了? 作为一个懂技术的挨踢技术,即使你明知道数据量太大正在加载,但是假如看不到任何动静,自己觉得还是一种很 ...

  4. vue-cli3项目首页加载速度优化(cdn加速,路由懒加载,gzip压缩)

    今天打算上线vue的单页面项目,上线后,首页加载速度巨慢! 原因是项目上线后,网速不够快,加载js,css等资源很慢, 打开打包好的文件发现chunk-vendors.xxxxxxx.js的包很大,达 ...

  5. iOS 图片加载速度优化

    FastImageCache 是 Path 团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的. 一.优化点 iOS 从磁盘加载一张图片,使用 UI ...

  6. 转: web 页面加载速度优化实战-100% 的飞跃提升

    前言 一个网站的加载速度有多重要? 反正我相信之前来 博主网站 的人至少有 50% 在加载完成前关闭了本站. 为啥捏? 看图 首页完整加载时间 8.18s,看来能进来看博主网站的人都是真爱呀,哈哈. ...

  7. C# TreeView,递归循环数据加载到treeView1中

    TblAreaBLL bll = new TblAreaBLL(); private void button1_Click(object sender, EventArgs e) { LoadData ...

  8. DevExpress ChartControl大数据加载时有哪些性能优化方法

    DevExpress ChartControl加载大数据量数据时的性能优化方法有哪些? 关于图表优化,可从以下几个方面解决: 1.关闭不需要的可视化的元素(如LineMarkers, Labels等) ...

  9. H5网站加载速度优化总结

    1. 在代码文件结构 尽量优化的同时,能力再强已经到极限了,但你服务器辣鸡,搭配不当,你代码优化上天 也是徒劳啊. 2.你不怎么优化, 服务器 各种技术配置到位的话, now你也看到了,我一个系统首页 ...

随机推荐

  1. Linux部署apache

    一.我们使用源码安装 官网:https://httpd.apache.org/文档:https://httpd.apache.org/docs/2.4/ 下载源码包 httpd-2.4.20.tar. ...

  2. 冒泡排序优化JAVA

    本文对传统的冒泡排序进行了一些优化,减少了循环次数. 时间复杂度 若文件的初始状态是正序的,一趟扫描即可完成排序.所需的关键字比较次数 C 和记录移动次数 M 均达到最小值: C(min)=n-1 , ...

  3. python 常用函数(不定时更新)

    1.遍历文件夹 import os def FileList(rootDir): FL=[] for lists in os.listdir(rootDir): path=os.path.join(r ...

  4. 使用 Python 进行稳定可靠的文件操作

    程序需要更新文件.虽然大部分程序员知道在执行I/O的时候会发生不可预期的事情,但是我经常看到一些异常幼稚的代码.在本文中,我想要分享一些如何在Python代码中改善I/O可靠性的见解. 考虑下述Pyt ...

  5. [转]解决WebClient或HttpWebRequest首次连接缓慢问题

    http://blog.csdn.net/rrrfff/article/details/6170653?reload 设置代理为空: <?xml version="1.0"? ...

  6. input text 的事件及方法

    事件 描述onactivate 当对象设置为活动元素时触发.onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发.onbeforeactivate 对象要被设置为当前元素 ...

  7. asp.net 生成 excel导出保存时, 解决迅雷下载aspx页面问题

    网络上搜索,一大堆废话,以下为简单的导出生成Excel代码: string excelFile = Server.MapPath("~/SB/UpFile/20151104111008/Bo ...

  8. Html5 学习系列(六)Html5本地存储和本地数据库

    一个网站如何能在客户的浏览器存储更多的数据呢? 在Html4的时代在浏览器端存储点网站个性化的数据,尤其是用户浏览器的痕迹,用户的相关数据等一般只能存储在Cookie中,但是大多是浏览器对于Cooki ...

  9. ServiceStack Web Service 创建与调用简单示列

    目录 ServiceStack 概念 ServiceStack Web Service 创建与调用简单示列 上篇文章介绍了ServiceStack是什么,本章进入主题,如何快速简单的搭建Service ...

  10. 文件系统:Ext3和Ext4

    一.ext3和ext4的区别: 1.与Ext3兼容:执行若干条命令,就能将Ext3在线迁移到Ext4,而无须重新格式化磁盘或者重新安装系统.原有Ext3数据结构照样保留, Ext4作用于新数据,当然, ...