教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> C# >> .net延迟加载的一般实现 RSS订阅
处理 SSI 文件时出错
.net延迟加载的一般实现
处理 SSI 文件时出错

本文对延迟加载在常用控件的实现做简单的描述.
一、在界面第一次显示时加载最简单的延迟加载可以通过控件第一次显示时加载数据

,例如你有很多的页签,只有用户切换到这个页签时,才会加载数据. 在.NET的Control

中提供SetVisibleCore虚方法,当检测value是true且第一次调用此方法时,调用延迟

加载.但是我并不推荐这个方法,因为你有更好的地方.- 如果你的控件继承自Form或

者UserControl,建议重载OnLoad;- 如果继承自Control,可以重载OnCreateControl.

下面是延迟加载数据的例子:   
public class MyTabPage : TabPage
{
    protected override void OnCreateControl( )
    {
        base.OnCreateControl( );
        string oldText = this.Text;
        this.Text = "Loading..";
        //TOD在这里调用加载数据的方法
        this.Text = oldText;
    }
}
二、树控件在第一次展开时加载TreeView因为所有的节点并不是继承自Control,所以

不能使用上面的方式,但是TreeView提供了OnBeforeExpand虚方法,最简单的办法是在

你打算实现延迟加载的节点加入一个是否已经加载的标记,当第一次展开时,检测这个

标记.必须记住你的延迟加载节点在根位置是不能收到这个事件的.
三、在表格中延迟加载.在Windows程序中,有的使用分页的方式实现延迟加载,但这种

方式的用户体验非常的糟糕.如果你希望仍然使用滚动条的话,可以自己实现

IBindList接口,内部持有一个数据的ID列表,在表格询问数据时,才到数据库加载数据

,通常的表格控件都能够很好的工作.但这里有个应该注意的地方,例如用户按下

PageDown时,表格控件连续的调用获取数据方法,如果每次请求都去调用数据库,将会

很低的性能,应该让你的程序“预知”到可能要读下50笔数据了,所以一次性多读50条

就可以. 这种方法遇到表格排序的时候就没有办法了.
以上是延迟加载技术的一般技术,如果你有更好的方法,请指教.

 

来源:十度教育
作者:
关键字:.net延迟加载,一般实现
发表日期:2006-10-2 10:49:29

处理 SSI 文件时出错

上一篇:VS2005中使用强类型DataSet简化开发   下一篇:.net中大数处理的一些算法思想


2008-9-7 2:22:49
本文的相类似文章
  • .net延迟加载的一般实现
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com