在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式

在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式

ID:38416619

大小:79.50 KB

页数:24页

时间:2019-06-12

在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式_第1页
在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式_第2页
在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式_第3页
在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式_第4页
在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式_第5页
资源描述:

《在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在DataGridView控件中实现虚拟模式的一个原因是为了只在需要时才检索数据。这称为“实时数据加载”。例如,如果您正在使用远程数据库中的一个非常大的表,您可能希望只检索显示所需的数据,而且只在用户将新行滚动到视图中时才检索额外的数据,从而避免启动延迟。如果运行您的应用程序的客户端计算机只有少量内存可供存储数据使用,则您可能还希望在从数据库中检索新值时丢弃无用的数据。下面的部分描述如何配合使用DataGridView控件与实时缓存。若要将本主题中的代码作为一个单独的列表进行复制,请参见如何:在Windows窗体DataGrid

2、View控件中实现实时数据加载的虚拟模式。窗体下面的代码示例定义了一个包含只读DataGridView控件的窗体,该控件通过CellValueNeeded事件处理程序与Cache对象进行交互。Cache对象管理本地存储的值,并使用DataRetriever对象从Northwind示例数据库的Orders表中检索值。DataRetriever对象(实现Cache类所需要的IDataPageRetriever接口)还用于初始化DataGridView控件的行和列。IDataPageRetriever、DataRetriever和Ca

3、che类型在本主题的稍后部分予以介绍。注意:将敏感信息(如密码)存储在连接字符串中可能会影响您的应用程序的安全性。若要控制对数据库的访问,一种较为安全的方法是使用Windows身份验证(也称为集成安全性)。有关更多信息,请参见保护连接信息(ADO.NET)。C# 复制代码publicclassVirtualJustInTimeDemo:System.Windows.Forms.Form{privateDataGridViewdataGridView1=newDataGridView();privateCachememoryCac

4、he;//Specifyaconnectionstring.Replacethegivenvaluewitha//validconnectionstringforaNorthwindSQLServersample//databaseaccessibletoyoursystem.privatestringconnectionString="InitialCatalog=NorthWind;DataSource=localhost;"+"IntegratedSecurity=SSPI;PersistSecurityInfo=Fals

5、e";privatestringtable="Orders";protectedoverridevoidOnLoad(EventArgse){//Initializetheform.this.AutoSize=true;this.Controls.Add(this.dataGridView1);this.Text="DataGridViewvirtual-modejust-in-timedemo";//CompletetheinitializationoftheDataGridView.this.dataGridView1.Si

6、ze=newSize(800,250);this.dataGridView1.Dock=DockStyle.Fill;this.dataGridView1.VirtualMode=true;this.dataGridView1.ReadOnly=true;this.dataGridView1.AllowUserToAddRows=false;this.dataGridView1.AllowUserToOrderColumns=false;this.dataGridView1.SelectionMode=DataGridViewS

7、electionMode.FullRowSelect;this.dataGridView1.CellValueNeeded+=newDataGridViewCellValueEventHandler(dataGridView1_CellValueNeeded);//CreateaDataRetrieveranduseittocreateaCacheobject//andtoinitializetheDataGridViewcolumnsandrows.try{DataRetrieverretriever=newDataRetri

8、ever(connectionString,table);memoryCache=newCache(retriever,16);foreach(DataColumncolumninretriever.Columns){dataGridView1.Columns.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。