The DataView and DataViewManager
Data binding depends on two classes in the
System.Data
namespace: DataView
and
DataViewManager
. These classes provide an important layer
of indirection between your data and its display format, allowing you
to apply sorts and filter rows without modifying the underlying
information—that is, to have different views on the same data.
ADO.NET binding is always provided through one of these objects.
Tip
Both ASP.NET and Windows Forms allow you to bind other types of
objects to controls, including custom classes, arrays, and some
collection types. However, ADO.NET binding always uses
DataView
and DataViewManager
,
so this chapter focuses on these two classes.
The
DataView
class acts as a view onto a single
DataTable
. When creating a
DataView
object, you specify the underlying
DataTable
in the constructor:
// Create a new DataView for the Customers table. DataView view = new DataView(ds.Tables["Customers"]);
Every DataTable
also provides a default
DataView
through the
DataTable.DefaultView
property:
// Obtain a reference to the default DataView for the Customers table. DataView view = ds.Tables["Customers"].DefaultView;
The DataViewManager
represents a view of an entire
DataSet
. As with the DataView
,
you can create a DataViewManager
manually, passing
in a reference to a DataSet
as a constructor
argument, or you can use the default
DataViewManager
provided through the
DataSet.DefaultViewManager
property.
The DataView
and
DataViewManager
provide three key features: ...
Get ADO.NET in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.