IHierarchicalDataSource イベント
IHierarchicalDataSource インターフェイス
アセンブリ: System.Web (system.web.dll 内)


ASP.NET では、Web サーバー コントロールをデータにバインドして、データを一貫した方式で提供できるようにするデータ バインディング アーキテクチャがサポートされています。データにバインドされる Web サーバー コントロールをデータ バインド コントロールといいます。また、そのバインディングを容易にするクラスをデータ ソース コントロールといいます。データ ソース コントロールは、ファイル、ストリーム、リレーショナル データベース、ビジネス オブジェクトなど、あらゆるデータ ソースを表すことができます。データ ソース コントロールにより、基になるデータのソースや形式にかかわらず、一貫した方式でデータがデータ バインド コントロールに提供されます。
階層データを表すデータ ソース コントロールは HierarchicalDataSourceControl クラスから派生します。このクラスは、IHierarchicalDataSource インターフェイスの基本 ASP.NET 実装です。IHierarchicalDataSource インターフェイスは、表形式またはリスト形式のデータではなく、階層データを、TreeView コントロールなどの HierarchicalDataBoundControl クラスから派生した Web サーバー コントロールに公開するデータ ソース コントロールを定義するために使用されます。このインターフェイスは、厳密に型指定された HierarchicalDataSourceView オブジェクトを取得する GetHierarchicalView メソッドを 1 つ定義します。このインターフェイスを実装するデータ ソース コントロールは、これらが表すデータの各階層レベルに対する階層ビューをサポートします。これらのデータ ソース ビューには DataSourceView オブジェクトのような名前は付きませんが、一意の階層パスによって識別され、これが viewPath パラメータとして GetHierarchicalView メソッドに渡されます。
データ ソース コントロールは、IHierarchicalDataSource オブジェクトに、そのオブジェクトに関連付けられたビューを組み合わせたものと考えることができます。関連付けられた各 HierarchicalDataSourceView オブジェクトは、表される階層レベルにおけるデータ ソース コントロールの機能を定義し、すべての ASP.NET データ ソース ビュー オブジェクトと同様、挿入、更新、削除、並べ替えなどの操作を実行します。
SiteMapDataSource などの階層データのみを公開するデータ ソース コントロールは HierarchicalDataSourceControl クラスから派生します。XmlDataSource などの階層データと表形式データの両方のデータとして、データを公開する他のデータ ソース コントロールは、HierarchicalDataSourceControl から派生しますが、IDataSource インターフェイスと IListSource インターフェイスを実装します。

IHierarchicalDataSource インターフェイスを実装する抽象 HierarchicalDataSourceControl クラスを拡張して、ファイル システム情報を表示するデータ ソース コントロールを作成する方法を次のコード例に示します。FileSystemDataSource クラスは、指定されたファイル システム パスに対して厳密に型指定されたビュー オブジェクトを取得する GetHierarchicalView メソッドの実装を提供しています。このコード例は、HierarchicalDataSourceControl クラスのトピックで取り上げているコード例の一部分です。
Imports System Imports System.Collections Imports System.IO Imports System.Runtime.InteropServices Imports System.Security.Permissions Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Namespace Samples.AspNet <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _ Public Class FileSystemDataSource Inherits HierarchicalDataSourceControl Public Sub New() End Sub 'New ' Return a strongly typed view for the current data source control. Private view As FileSystemDataSourceView = Nothing Protected Overrides Function GetHierarchicalView(viewPath As String) As HierarchicalDataSourceView If view Is Nothing Then view = New FileSystemDataSourceView(viewPath) End If Return view End Function 'GetHierarchicalView End Class 'FileSystemDataSource
using System; using System.Collections; using System.IO; using System.Runtime.InteropServices; using System.Security.Permissions; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)] public class FileSystemDataSource : HierarchicalDataSourceControl, IHierarchicalDataSource { public FileSystemDataSource() : base() {} // Return a strongly typed view for the current data source control. private FileSystemDataSourceView view = null; protected override HierarchicalDataSourceView GetHierarchicalView(string viewPath) { if (null == view) { view = new FileSystemDataSourceView(viewPath); } return view; } // The FileSystemDataSource can be used declaratively. To enable // declarative use, override the default implementation of // CreateControlCollection to return a ControlCollection that // you can add to. protected override ControlCollection CreateControlCollection() { return new ControlCollection(this); } }


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IHierarchicalDataSource メソッド
IHierarchicalDataSource メンバ
Weblioに収録されているすべての辞書からIHierarchicalDataSourceを検索する場合は、下記のリンクをクリックしてください。

- IHierarchicalDataSourceのページへのリンク