asp.net中TreeView的大数据加载速度优化
由于数据量太大,加载树时间很长,所以进行了优化
前台 .aspx
- <asp:Panel ID="Panel2" runat="server" Height="600px" ScrollBars="Auto">
- <asp:TreeView ID="TreeView1" runat="server" ForeColor="Black" OnTreeNodeExpanded="TreeView1_TreeNodeExpanded" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
- <LeafNodeStyle HorizontalPadding="3px" />
- <ParentNodeStyle HorizontalPadding="3px" />
- <RootNodeStyle HorizontalPadding="3px" />
- <SelectedNodeStyle ForeColor="#009933" />
- </asp:TreeView>
- </asp:Panel>
后台.cs
- #region wsw更改树的加载方式
- private void LoadNewTree()
- {
- DataTable dtp = pagBLL.GetList(" superfuncid=0 order by sort asc").Tables[];
- if (dtp.Rows.Count > )
- {
- //首先清除树型控件内的结点
- this.TreeView1.Nodes.Clear();
- for (int i = ; i < dtp.Rows.Count; i++)
- {
- //实例出一个结点
- TreeNode Node = new TreeNode();
- Node.Text = dtp.Rows[i]["funcname"].ToString();
- Node.Value = dtp.Rows[i]["pagefuncid"].ToString();
- Node.ToolTip = dtp.Rows[i]["funcurl"].ToString();
- Node.ImageUrl = "../../" + dtp.Rows[i]["imageurl"].ToString();
- this.TreeView1.Nodes.Add(Node);//增加父节点,这时直接往树TreeView1上加
- this.LoadAddSign(Node.ChildNodes,Convert.ToInt32(dtp.Rows[i]["pagefuncid"].ToString()));//wsw更改
- TreeView1.CollapseAll();
- }
- }
- }
- /// <summary>
- /// 用于加载显示 树形控件 +号的,加载下面的一个节点。
- /// </summary>
- /// <param name="Conn"></param>
- /// <param name="tn"></param>
- /// <param name="DeptId"></param>
- private void LoadAddSign( TreeNodeCollection tn, int DeptId) //wsw更改
- {
- DataTable table = pagBLL.GetList(" superfuncid=" + DeptId + " order by sort asc").Tables[];
- if (table.Rows.Count > )
- {
- //加载"一个"1级节点,就是为了显示 + 号
- tn.Add(new TreeNode());
- }
- }
- /// <summary>
- /// 点击 + 号是节点展开事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
- {
- TreeNode node = e.Node;
- if (node.Expanded == true)
- {
- string bm = e.Node.Value.ToString();//wsw更改
- DataTable table = pagBLL.GetList(" superfuncid=" + bm + " order by sort asc").Tables[];
- node.ChildNodes.Clear(); //清除之前加载的空节点。
- if (table.Rows.Count > )
- {
- for (int i = ; i < table.Rows.Count; i++)
- {
- TreeNode Node = new TreeNode();
- Node.Text = table.Rows[i]["funcname"].ToString();
- Node.Value = table.Rows[i]["pagefuncid"].ToString();
- Node.ToolTip = table.Rows[i]["funcurl"].ToString();
- Node.ImageUrl = "../../" + table.Rows[i]["imageurl"].ToString();
- node.ChildNodes.Add(Node);//增加父节点,这时直接往树TreeView1上加
- this.LoadAddSign(Node.ChildNodes, Convert.ToInt32(table.Rows[i]["pagefuncid"].ToString()));//wsw更改
- }
- }
- }
- }
- #endregion
asp.net中TreeView的大数据加载速度优化的更多相关文章
- [Aaronyang] 写给自己的WPF4.5 笔记6[三巴掌-大数据加载与WPF4.5 验证体系详解 2/3]
我要做回自己--Aaronyang的博客(www.ayjs.net) 博客摘要: Virtualizing虚拟化DEMO 和 大数据加载的思路及相关知识 WPF数据提供者的使用ObjectDataPr ...
- 记一次cocos项目的加载速度优化
半个月前,我们用cosos creator做了一个简单的小游戏,也许算不上小游戏吧..一边学cocos,一边做,几经波折后终于上线了.然鹅,功能是实现了,但是加载速度十分感人(毕竟没经验嘛,无辜脸). ...
- WPF 大数据加载过程中的等待效果——圆圈转动
大家肯定遇到过或将要遇到加载大数据的时候,如果出现长时间的空白等待,一般人的概念会是:难道卡死了? 作为一个懂技术的挨踢技术,即使你明知道数据量太大正在加载,但是假如看不到任何动静,自己觉得还是一种很 ...
- vue-cli3项目首页加载速度优化(cdn加速,路由懒加载,gzip压缩)
今天打算上线vue的单页面项目,上线后,首页加载速度巨慢! 原因是项目上线后,网速不够快,加载js,css等资源很慢, 打开打包好的文件发现chunk-vendors.xxxxxxx.js的包很大,达 ...
- iOS 图片加载速度优化
FastImageCache 是 Path 团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的. 一.优化点 iOS 从磁盘加载一张图片,使用 UI ...
- 转: web 页面加载速度优化实战-100% 的飞跃提升
前言 一个网站的加载速度有多重要? 反正我相信之前来 博主网站 的人至少有 50% 在加载完成前关闭了本站. 为啥捏? 看图 首页完整加载时间 8.18s,看来能进来看博主网站的人都是真爱呀,哈哈. ...
- C# TreeView,递归循环数据加载到treeView1中
TblAreaBLL bll = new TblAreaBLL(); private void button1_Click(object sender, EventArgs e) { LoadData ...
- DevExpress ChartControl大数据加载时有哪些性能优化方法
DevExpress ChartControl加载大数据量数据时的性能优化方法有哪些? 关于图表优化,可从以下几个方面解决: 1.关闭不需要的可视化的元素(如LineMarkers, Labels等) ...
- H5网站加载速度优化总结
1. 在代码文件结构 尽量优化的同时,能力再强已经到极限了,但你服务器辣鸡,搭配不当,你代码优化上天 也是徒劳啊. 2.你不怎么优化, 服务器 各种技术配置到位的话, now你也看到了,我一个系统首页 ...
随机推荐
- Linux部署apache
一.我们使用源码安装 官网:https://httpd.apache.org/文档:https://httpd.apache.org/docs/2.4/ 下载源码包 httpd-2.4.20.tar. ...
- 冒泡排序优化JAVA
本文对传统的冒泡排序进行了一些优化,减少了循环次数. 时间复杂度 若文件的初始状态是正序的,一趟扫描即可完成排序.所需的关键字比较次数 C 和记录移动次数 M 均达到最小值: C(min)=n-1 , ...
- python 常用函数(不定时更新)
1.遍历文件夹 import os def FileList(rootDir): FL=[] for lists in os.listdir(rootDir): path=os.path.join(r ...
- 使用 Python 进行稳定可靠的文件操作
程序需要更新文件.虽然大部分程序员知道在执行I/O的时候会发生不可预期的事情,但是我经常看到一些异常幼稚的代码.在本文中,我想要分享一些如何在Python代码中改善I/O可靠性的见解. 考虑下述Pyt ...
- [转]解决WebClient或HttpWebRequest首次连接缓慢问题
http://blog.csdn.net/rrrfff/article/details/6170653?reload 设置代理为空: <?xml version="1.0"? ...
- input text 的事件及方法
事件 描述onactivate 当对象设置为活动元素时触发.onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发.onbeforeactivate 对象要被设置为当前元素 ...
- asp.net 生成 excel导出保存时, 解决迅雷下载aspx页面问题
网络上搜索,一大堆废话,以下为简单的导出生成Excel代码: string excelFile = Server.MapPath("~/SB/UpFile/20151104111008/Bo ...
- Html5 学习系列(六)Html5本地存储和本地数据库
一个网站如何能在客户的浏览器存储更多的数据呢? 在Html4的时代在浏览器端存储点网站个性化的数据,尤其是用户浏览器的痕迹,用户的相关数据等一般只能存储在Cookie中,但是大多是浏览器对于Cooki ...
- ServiceStack Web Service 创建与调用简单示列
目录 ServiceStack 概念 ServiceStack Web Service 创建与调用简单示列 上篇文章介绍了ServiceStack是什么,本章进入主题,如何快速简单的搭建Service ...
- 文件系统:Ext3和Ext4
一.ext3和ext4的区别: 1.与Ext3兼容:执行若干条命令,就能将Ext3在线迁移到Ext4,而无须重新格式化磁盘或者重新安装系统.原有Ext3数据结构照样保留, Ext4作用于新数据,当然, ...