Problem:
The Scheduler behaves perfectly well when there is a reasonable amount of appointments to display. However, what if I am required to handle large appointment datasets? If I use the ObjectDataSource, then all data are loaded when a page is being created. That means that the application is fetching unnecessary data, increasing server workload and degrading the overall performance. It is suggested that in this case the FetchAppointments event should be used to narrow the time frame for which appointments should be retrieved. However, how does one get the newly selected time interval in the page cycle before the ObjectDataSource retrieves data from the underlying data source?
Solution:
This example illustrates the use of the FetchAppointments event to limit the number of appointments loaded at a time to the appointments actually shown. To achieve this, a new data source control is created by using the ObjectDataSource. This control implements its own CRUD procedures for appointment and resources. It enables you to intercept requests for visible interval changes and load only necessary data.
Note that page rendering performance is highly affected by the browser type. Internet Explorer seems to be the slowest one, so it is recommended to view the example using FireFox.
P.S. If you run this example online, the scheduler is in read-only mode, so no modifications or new appointment insertion are allowed.
Question Comments
Added By: Marc Michaels at: 7/24/2013 7:08:23 AM
I think this is the single biggest performance enhancement strategy for the aspxscheduler control! I may not have been looking hard enough, but it took me months (and the purchase of a new database server) to find this little gem. Performance of my aspx scheduler went from several seconds per operation to near-instant.
To me, this information is so vital to efficient operation of the aspxscheduler control, it should be published, blogged, and disseminated in as many ways as possible to make it easy to find. Heck, find a way to sticky post it in the support center kb search or something.
Added By: Róbert Badí Baldursson at: 4/24/2015 8:20:54 AMI get a "Login failed for user 'sa'." when I try running the example.