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: ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access