Welcome,
 Guest User.

  Click to Login   


 FarPoint HOME
 clubFarPoint HOME

SUPPORT
   Forum
   View Your Questions

RESOURCES
   Search
   Articles
   Product Docs
   FAQ
   Training Videos
   Feature Suggestions
   Subscriptions
   User Groups
   FarPoint Blog

DOWNLOAD
   Updates
   Trials

MY ACCOUNT
   Member Benefits
   MVP Status
   RSS Feeds
   Register Product
   View Products
   View Orders
   Order Now
   My Profile
   Product Profiles

   clubFarPoint Feedback...


There are 9 registered members online.


   

Articles
<< Return to Articles
Using Virtual Mode in Spread COM
Submitted By: FarPoint Last Updated: 4/10/2006 10:39:43 AM
Level: Beginner  
Product(s): Spread 7  
Language(s):  
Description: This article describes the use of virtual mode in a Spread COM control.  
 

To view a printable version of this article in a PDF viewer, click here for PDF.


This article describes using virtual mode in a Spread COM control.
This article consists of the following sections:

Throughout this article, we assume that you are familiar with the Microsoft® Visual Basic® development environment and with Spread features, such as adding the control to your toolbox, putting the control on a form, and data binding. We also assume that you have installed the Spread ActiveX control. If you are not familiar with these things, please review the Spread User's Guide (for any Spread COM product version 3.0 or later) and the tutorial, "Adding Data in Spread COM," available on the FarPoint web site ( www.clubfarpoint.com/FarPointSupportSite/Modules/Resources/whitepapers.aspx).

This paper was originally written for version 3.0 of the Spread COM product.
For later versions, simply use the VirtualRefresh Method in place of the VRefresh action.

 

Back to the top.

 


How Does Virtual Mode Work?

Using virtual mode with your Spread control can improve your control's performance considerably. Turning virtual mode on lets the control read into a buffer only the amount of data necessary to display the requested rows. With virtual mode turned off, the control reads in an entire recordset before displaying any records.

For example, if you have a Spread control access a large database with thousands of records and virtual mode is turned off, the control will read in all the records in the database before displaying any records in the control. Reading in so many records may take a long time. Accessing the same database with virtual mode turned on means the control will read in only, for example, a few hundred records before displaying them.

 

Back to the top.

 


Turning On Virtual Mode

Turn on virtual mode by setting the VirtualMode property to True.

Be Aware

Virtual Mode Behavior. There will obviously be some behavioral differences resulting from buffering a subset of records rather than reading in the entire set of records. For example, your application will not be able to sort your database or perform similar tasks that require the use of the entire recordset at once. Since virtual mode increases responsiveness by dealing with just a subset of the recordset at a time, then by definition virtual mode is not capable of performing database-wide tasks. Be aware also, that a Spread control using virtual mode cannot print using the SmartPrint option or freeze rows. Refer to the Spread COM User's Guide when you need more details about the Spread control's behavior when using virtual mode.

Specifying the number of rows

While in virtual mode, the control ignores the setting of the MaxRows property and uses the number of items specified by the VirtualMaxRows property. The default setting of the VirtualMaxRows property is –1, which specifies that the control use however many items are in the recordset, but that the control does not know the exact number.

If you prefer, you can tell the control the exact number of items in the recordset, or you can guess the number of items. If you guess the number of items, overestimate, because the control will read in only the number of items specified by the VirtualMaxRows property.

For best results, for example, to have the control best reflect where the user is in the recordset, set the VirtualMaxRows property to the number of items in the recordset.

Be Aware

Changing the recordset at run time. If you set the VirtualMaxRows property to the number of items in your recordset for a bound database, then bind the Spread control to a different recordset at run time, set VirtualMaxRows to –1 or to the number of items in the new recordset before you refresh the Data control. If you do not reset the value of the VirtualMaxRows property, the Spread control might not read in all the records in the new recordset.

What can I do with virtual mode?

You can customize how many records are buffered, along with many other virtual mode features. The topic How Can I Customize Virtual Mode?describes many of your options for customizing virtual mode. You will see some of these customization options in use in the examples in this white paper.

When virtual mode is turned on and the control requests additional data, the QueryData event occurs, offering you an opportunity to include your own code to add more data or further customize the control.

How does virtual mode handle property settings?

A spreadsheet can have properties that determine the behaviors of individual cells, rows, columns, and the entire sheet. An application using virtual mode will typically set sheet and column properties in a Form_Load event. Then, as each subset of rows comes into view, the application will typically set row and cell properties for those rows. The row and cell properties come from an external source (the source of the data, such as a bound database, a file, or an array). The properties may be set automatically, as when bound to a database, or set in the application's code (such as in the QueryData event).

As you work with virtual mode, particularly if you use the QueryData event, keep in mind these distinctions about how the Spread control is handling property settings.

 

Back to the top.

 


How Can I Customize Virtual Mode?

As described earlier, virtual mode reads in a certain amount of data, which is then available for viewing or working with. Additional data is not read into the control until it is requested by the user or the application.

The amount of data read into the control is called the virtual page. You can set the number of records to include in the virtual page. The control also can store records that have been read in memory, for faster control access. You can adjust this buffer size to an optimal size to conserve system resources or to increase control responsiveness, depending on your application's needs.

In virtual mode, the control does not necessarily know how many rows of data there are in the complete set of data. Because the control might not know the number of rows, the scroll bar cannot use the scroll box to accurately represent where the user is in the data. Therefore, you can either tell the control the total number of records or an estimate of the number of records, or you can

   

Subscribe to the RSS feed!RSS Subscribe


Click for Morrisville, North Carolina Forecast
 
Todays Trivia














FarPoint's Spread for Web Forms

     About Us | Contact UsComments & Suggestions | ©2008 FarPoint Technologies, Inc.