O'Reilly logo

ADO.NET Cookbook by Bill Hamilton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

9.14. Refreshing a DataSet Automatically Using Extended Properties

Problem

You need to automatically refresh a DataSet periodically.

Solution

Use extended properties and a timer.

The sample code contains two event handlers and one method:

Form.Load

Sets up the sample by creating a DataTable containing the Categories table from the Northwind database. The default view of the table is bound to a data grid on the form. A second DataTable with the auto-refreshing functionality is created that also contains the Categories table from the Northwind database. The default view of the auto-refreshing table is bound to a second data grid on the form. An extended property RefreshTime is added to the auto-refreshing table and set to 15 seconds—the value of the constant DATAREFRESH_SECONDS in the sample—into the future. Finally, a thread timer is created with a TimerClassback delegate CheckRefreshDataSet, with a due time of one second, and a period of one second.

Update Button.Click

Uses a DataAdapter to update changes made to the first DataTable back to the data source.

CheckRefreshDataSet( )

This method is called periodically by the thread timer. The method checks whether the current time is later than the time in the RefreshTime extended property of the auto-refreshing table. If it is, a DataAdapter is used to fill the table with the latest data from the data source and the RefreshTime extended property is once again set to 15 seconds into the future.

The C# code is shown in Example 9-17.

Example 9-17. File: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required