ASP.NET supports a data-binding architecture that enables Web server controls to bind to data and present it in a consistent fashion. Web server controls that bind to data are called data-bound controls, and the classes that facilitate that binding are called data source controls. Data source controls can represent any data source: a file, a stream, a relational database, a business object, and so on. Data source controls present data in a consistent way to data-bound controls, regardless of the source or format of the underlying data.
Data source controls that represent hierarchical data derive from the abstract HierarchicalDataSourceControl class. You can think of a data source control as the combination of the data source control object and its associated views on the underlying data, which are represented by data source view objects. Hierarchical data source controls support a hierarchical data source view for each hierarchical level of data they represent. The data source views are not named, like the DataSourceView objects associated with a DataSourceControl control, but are identified by their unique hierarchical path.
Data source views define the capabilities of a data source control. All data source view objects, including HierarchicalDataSourceView, support data retrieval from the underlying data source using the Select method, which retrieves a hierarchical list of data as an IHierarchicalEnumerable object. All data source view objects optionally support a basic set of capabilities, including operations such as Insert, Update, Delete, and sorting. A data-bound control can discover the capabilities of a data source control by retrieving an associated data source view using the GetHierarchicalView method and querying the view at design time or at run time. HierarchicalDataSourceView does not currently support Insert, Update or Delete operations.
Notes to Inheritors: When you inherit from HierarchicalDataSourceView, you must override the following member: Select.