HierarchicalDataBoundControlAdapter クラス
アセンブリ: System.Web (system.web.dll 内)


HierarchicalDataBoundControlAdapter クラスは、関連付けられた HierarchicalDataBoundControl コントロールを調整し、特定のブラウザに対する既定のマークアップまたは動作を変更します。HierarchicalDataBoundControlAdapter クラスを拡張することにより、HierarchicalDataBoundControl コントロールの表示をより詳細にカスタマイズできます。
HierarchicalDataBoundControl コントロールは、データ ソースにバインドされ、バインド先のデータ ソース内の項目を列挙することによって、ユーザー インターフェイス (または、通常、子コントロール階層) を生成します。階層構造のデータ バインド コントロールの詳細については、HierarchicalDataBoundControl のトピックを参照してください。
コントロール アダプタは、特定のブラウザに対するコントロールの有効期間の 1 つ以上の段階を管理する .NET コンポーネントです。HierarchicalDataBoundControlAdapter クラスを拡張すると、HierarchicalDataBoundControl コントロールの有効期間の段階にアクセスできます。詳細については、「アダプティブ コントロール動作のアーキテクチャの概要」を参照してください。
アダプタの初期要求により、要求側のブラウザの特性に応じて、コントロールに割り当てられたアダプタが .NET Framework によって検索されます。ブラウザ定義ファイルは、HttpBrowserCapabilities クラスで使用され、クライアント ブラウザの特性を識別したり、アダプタをブラウザの種類に対応付けたりします。

HierarchicalDataBoundControlAdapter クラスを拡張して、XmlDataSource オブジェクトにバインドされた階層構造の TreeView コントロールを表示する方法の例を次に示します。
このコード例は、4 つのコード セグメントで構成されています。最初のコード セグメントは、HierarchicalDataBoundControlAdapter クラスを拡張する方法を示しています。
Imports System Imports System.Web Imports System.Security.Permissions Namespace Contoso <AspNetHostingPermission(SecurityAction.Demand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ <AspNetHostingPermission(SecurityAction.InheritanceDemand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ Public Class HierarchicalTreeViewAdapter Inherits _ System.Web.UI.WebControls.Adapters.HierarchicalDataBoundControlAdapter ' Return a strongly-typed TreeView control for adapter. Protected Overloads ReadOnly Property Control() As _ System.Web.UI.WebControls.TreeView Get Return CType( _ MyBase.Control, _ System.Web.UI.WebControls.TreeView) End Get End Property ' Verify the DataSourceID property is set prior to binding data. Protected Overrides Sub PerformDataBinding() If (Not Control.DataSourceID Is Nothing) Then MyBase.PerformDataBinding() End If End Sub End Class End Namespace
using System; using System.Web; using System.Web.UI; using System.Security.Permissions; namespace Contoso { [AspNetHostingPermission( SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission( SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] public class HierarchicalTreeViewAdapter : System.Web.UI.WebControls.Adapters.HierarchicalDataBoundControlAdapter { // Return a strongly-typed TreeView control for adapter. protected new System.Web.UI.WebControls.TreeView Control { get { return (System.Web.UI.WebControls.TreeView)base.Control; } } // Verify the DataSourceID property is set prior to binding data. protected override void PerformDataBinding() { if (Control.DataSourceID != null) { base.PerformDataBinding(); } } } }
2 番目のコード セグメントは、TreeView を宣言して XML データ ソースにバインドする方法を示しています。
<%@ page language="VB" %> <html> <head runat="server"> <title>HierarchicalDataBoundControl Adapter</title> </head> <body> <form id="Form1" runat="server"> <asp:TreeView ID="TreeView1" Runat="server" DataSourceID="XmlDataSource1"> <DataBindings> <asp:TreeNodeBinding DataMember="employees" Text="Employees"/> <asp:TreeNodeBinding DataMember="employee" TextField="id" /> <asp:TreeNodeBinding DataMember="name" TextField="fullname" /> </DataBindings> </asp:TreeView> <asp:XmlDataSource ID="XmlDataSource1" Runat="server" DataFile="employees.xml" /> <br /> </form> </body> </html>
<%@ page language="c#" %> <html> <head runat="server"> <title>HierarchicalDataBoundControl Adapter</title> </head> <body> <form id="Form1" runat="server"> <asp:TreeView ID="TreeView1" Runat="server" DataSourceID="XmlDataSource1"> <DataBindings> <asp:TreeNodeBinding DataMember="employees" Text="Employees"/> <asp:TreeNodeBinding DataMember="employee" TextField="id" /> <asp:TreeNodeBinding DataMember="name" TextField="fullname" /> </DataBindings> </asp:TreeView> <asp:XmlDataSource ID="XmlDataSource1" Runat="server" DataFile="employees.xml" /> <br /> </form> </body> </html>
3 番目のコード セグメントは、TreeView コントロールを、Windows CE 上で実行するブラウザのカスタム アダプタにリンクさせる方法を示しています。
<browsers> <browser refID="WinCE"> <controlAdapters> <adapter controlType="System.Web.UI.WebControls.TreeView" adapterType="Contoso.HierarchicalTreeViewAdapter" /> </controlAdapters> </browser> <browser refID="IE"> <controlAdapters> <adapter controlType="System.Web.UI.WebControls.TreeView" adapterType="Contoso.HierarchicalTreeViewAdapter" /> </controlAdapters> </browser> </browsers>
<browsers> <browser refID="WinCE"> <controlAdapters> <adapter controlType="System.Web.UI.WebControls.TreeView" adapterType="Contoso.HierarchicalTreeViewAdapter" /> </controlAdapters> </browser> <browser refID="IE"> <controlAdapters> <adapter controlType="System.Web.UI.WebControls.TreeView" adapterType="Contoso.HierarchicalTreeViewAdapter" /> </controlAdapters> </browser> </browsers>


System.Web.UI.Adapters.ControlAdapter
System.Web.UI.WebControls.Adapters.WebControlAdapter
System.Web.UI.WebControls.Adapters.HierarchicalDataBoundControlAdapter


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


- HierarchicalDataBoundControlAdapter クラスのページへのリンク