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你也看到了,我一个系统首页 ...
随机推荐
- ArcGIS Engine代码共享-工作空间(workspace)对象操作
代码: public class WorkspaceHelper { public static string GISConnectionString; public static IWorkspac ...
- 内存不足 java.lang.OutOfMemoryError: PermGen space
错误: 原因: 改成: -Xms1024m -Xmx1200m -XX:PermSize=256M
- OGLplus 0.33.0 发布,OpenGL 的 C 封装库
OGLplus 0.33.0 引入很多新的 OGLplus 和 OALplus 示例,更新了构建系统.CamMatrix::LookingAt 构造器.Texture::MaxLevel getter ...
- Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色
上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...
- ContentControl 与 ViewModel (一)
前阵子有人问我MVVM模式下,在View中嵌套View,切换View.想一想还是写下来吧. 主要就是用到 ContentControl 和 DataTemplate,这算是一种 ViewModel F ...
- C语言 线性表 顺序表结构 实现
一个能够自动扩容的顺序表 ArrList (GCC编译). #include <stdio.h> #include <stdlib.h> #include <string ...
- Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter
Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter 原文链接:http://www.xuanhun521.com/Blog/7fc11b7a-b6cb-4 ...
- [ACM_图论] ZOJ 3708 [Density of Power Network 线路密度,a->b=b->a去重]
The vast power system is the most complicated man-made system and the greatest engineering innovatio ...
- Spring-Context之一:一个简单的例子
很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...
- 配置JDK时环境变量path和JAVA_HOME的作用
1.PATH环境变量.作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.需要把jdk安装目录下的bin目录增 ...