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

Public NotInheritable Class RowToFieldTransformer Inherits WebPartTransformer Implements IWebPartField

トランスフォーマは、互換性のないコネクション ポイントを持つ 2 つの Web パーツ コントロール間でデータを変換する場合に使用します。RowToFieldTransformer オブジェクトは、IWebPartRow インターフェイスを実装しているプロバイダからのデータを、IWebPartField インターフェイスからデータを受け取る必要があるコンシューマ用に変換します。RowToFieldTransformer クラスを使用すると、互換性のないこれらのコネクション ポイントを持つコントロールを接続することが可能になります。

RowToFieldTransformer オブジェクトを使用して、互換性のないコネクション ポイントを持つプロバイダとコンシューマを接続する方法のコード例を次に示します。コード例の最初の部分は、プロバイダとして動作する Web パーツ コントロールを示します。RowProviderWebPart という名前のプロバイダ クラスは、IWebPartRow インターフェイスを通じてデータを提供します。
Imports System Imports System.Collections Imports System.ComponentModel Imports System.Data Imports System.Reflection Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts 'This sample code creates a Web Parts control that acts as a provider of row data. Namespace Samples.AspNet.VB.Controls Public NotInheritable Class RowProviderWebPart Inherits WebPart Implements IWebPartRow Private _table As DataTable Public Sub New() _table = New DataTable() Dim col As New DataColumn() col.DataType = GetType(String) col.ColumnName = "Name" _table.Columns.Add(col) col = New DataColumn() col.DataType = GetType(String) col.ColumnName = "Address" _table.Columns.Add(col) col = New DataColumn() col.DataType = GetType(Integer) col.ColumnName = "ZIP Code" _table.Columns.Add(col) Dim row As DataRow = _table.NewRow() row("Name") = "John Q. Public" row("Address") = "123 Main Street" row("ZIP Code") = 98000 _table.Rows.Add(row) End Sub 'New <ConnectionProvider("Row")> _ Public Function GetConnectionInterface() As IWebPartRow Return New RowProviderWebPart() End Function 'GetConnectionInterface Public ReadOnly Property Schema() As PropertyDescriptorCollection _ Implements IWebPartRow.Schema Get Return TypeDescriptor.GetProperties(_table.DefaultView(0)) End Get End Property Public Sub GetRowData(ByVal callback As RowCallback) _ Implements IWebPartRow.GetRowData callback(_table.DefaultView(0)) End Sub 'GetRowData End Class 'RowProviderWebPart End Namespace
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Reflection; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; //This sample code creates a Web Parts control that acts as a provider of row data. namespace Samples.AspNet.CS.Controls { public sealed class RowProviderWebPart : WebPart, IWebPartRow { private DataTable _table; public RowProviderWebPart() { _table = new DataTable(); DataColumn col = new DataColumn(); col.DataType = typeof(string); col.ColumnName = "Name"; _table.Columns.Add(col); col = new DataColumn(); col.DataType = typeof(string); col.ColumnName = "Address"; _table.Columns.Add(col); col = new DataColumn(); col.DataType = typeof(int); col.ColumnName = "ZIP Code"; _table.Columns.Add(col); DataRow row = _table.NewRow(); row["Name"] = "John Q. Public"; row["Address"] = "123 Main Street"; row["ZIP Code"] = 98000; _table.Rows.Add(row); } [ConnectionProvider("Row")] public IWebPartRow GetConnectionInterface() { return new RowProviderWebPart(); } public PropertyDescriptorCollection Schema { get { return TypeDescriptor.GetProperties(_table.DefaultView[0]); } } public void GetRowData(RowCallback callback) { callback(_table.DefaultView[0]); } } }
コード例の 2 番目の部分は、Web パーツ接続のコンシューマとなる Web パーツ コントロールです。FieldConsumerWebPart という名前のコンシューマ クラスは、IWebPartField インターフェイスからデータを受け取ります。
Imports System Imports System.ComponentModel Imports System.Reflection Imports System.Collections Imports System.Data Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts Namespace Samples.AspNet.VB.Controls ' This sample code creates a Web Parts control that acts as ' a consumer of an IField interface. Public Class FieldConsumerWebPart Inherits WebPart Private _provider As IWebPartField Private _fieldValue As Object Private Sub GetFieldValue(ByVal fieldValue As Object) _fieldValue = fieldValue End Sub 'GetFieldValue Protected Overrides Sub OnPreRender(ByVal e As EventArgs) If Not (_provider Is Nothing) Then _provider.GetFieldValue((New FieldCallback(AddressOf GetFieldValue))) End If MyBase.OnPreRender(e) End Sub 'OnPreRender Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter) If Not (_provider Is Nothing) Then Dim prop As PropertyDescriptor = _provider.Schema If Not (prop Is Nothing) AndAlso Not (_fieldValue Is Nothing) Then writer.Write(prop.DisplayName & ": " & _fieldValue) Else writer.Write("No data") End If Else writer.Write("Not connected") End If End Sub 'RenderContents <ConnectionConsumer("Field")> _ Public Sub SetConnectionInterface(ByVal provider As IWebPartField) _provider = provider End Sub 'SetConnectionInterface Private Class FieldConsumerConnectionPoint Inherits ConsumerConnectionPoint Public Sub New(ByVal callbackMethod As MethodInfo, _ ByVal interfaceType As Type, ByVal controlType As Type, _ ByVal name As String, ByVal id As String, _ ByVal allowsMultipleConnections As Boolean) MyBase.New(callbackMethod, interfaceType, controlType, _ name, id, allowsMultipleConnections) End Sub 'New End Class 'FieldConsumerConnectionPoint End Class 'FieldConsumerWebPart
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Reflection; using System.Web; using System.Web.UI; using System.Security.Permissions; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; namespace Samples.AspNet.CS.Controls { // This sample code creates a Web Parts control that acts // as a consumer of an IField interface. // A consumer WebPart control that consumes strings. [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] public class FieldConsumerWebPart : WebPart { private IWebPartField _provider; private object _fieldValue; private void GetFieldValue(object fieldValue) { _fieldValue = fieldValue; } public bool ConnectionPointEnabled { get { object o = ViewState["ConnectionPointEnabled"]; return (o != null) ? (bool)o : true; } set { ViewState["ConnectionPointeEnabled"] = value; } } protected override void OnPreRender(EventArgs e) { if (_provider != null) { _provider.GetFieldValue(new FieldCallback(GetFieldValue)); } base.OnPreRender(e); } protected override void RenderContents(HtmlTextWriter writer) { if (_provider != null) { PropertyDescriptor prop = _provider.Schema; if (prop != null && _fieldValue != null) { writer.Write(prop.DisplayName + ": " + _fieldValue); } else { writer.Write("No data"); } } else { writer.Write("Not connected"); } } [ConnectionConsumer("Field")] public void SetConnectionInterface(IWebPartField provider) { _provider = provider; } private class FieldConsumerConnectionPoint : ConsumerConnectionPoint { public FieldConsumerConnectionPoint(MethodInfo callbackMethod, Type interfaceType, Type controlType, string name, string id, bool allowsMultipleConnections) : base(callbackMethod, interfaceType, controlType , name, id, allowsMultipleConnections) { } public override bool GetEnabled(Control control) { return ((FieldConsumerWebPart)control).ConnectionPointEnabled; } } } }
コード例の 3 番目の部分は、2 つのコントロールを持ち、この 2 つのコントロールを接続するための RowToFieldTransformer オブジェクトを定義するページを示します。
<%@ Page Language="VB" %> <%@ register tagprefix="uc1" tagname="DisplayModeMenuVB" src="~/displaymodemenuvb.ascx" %> <%@ Register TagPrefix="wp" NameSpace="Samples.AspNet.VB.Controls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> </script> <html > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <asp:webpartmanager id=manager runat=server> <staticconnections> <asp:WebPartConnection ID=conn1 ProviderID=rp1 ConsumerID=fc1> <asp:RowToFieldTransformer /> </asp:WebPartConnection> </staticconnections> </asp:webpartmanager> <uc1:displaymodemenuvb id="menu1" runat="server" /> <table> <tr valign=top> <td> <asp:webpartzone id=zone1 headertext=zone1 runat=server> <zonetemplate> <wp:RowProviderWebPart Title="provider" ID=rp1 runat=server /> <wp:FieldConsumerWebPart Title="consumer" ID=fc1 runat=server /> </zonetemplate> </asp:webpartzone> </td> <td> <asp:connectionszone id=connectionszone1 runat=server /> </td> </tr> </table> </form> </body> </html>
<%@ Page Language="C#" %> <%@ register tagprefix="uc1" tagname="DisplayModeMenuCS" src="~/displaymodemenucs.ascx" %> <%@ Register TagPrefix="wp" NameSpace="Samples.AspNet.CS.Controls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> </script> <html > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <asp:webpartmanager id=manager runat=server> <staticconnections> <asp:WebPartConnection ID=conn1 ProviderID=rp1 ConsumerID=fc1> <asp:RowToFieldTransformer FieldName="Zip Code"/> </asp:WebPartConnection> </staticconnections> </asp:webpartmanager> <uc1:displaymodemenucs id="menu1" runat="server" /> <table> <tr valign=top> <td> <asp:webpartzone id=zone1 headertext=zone1 runat=server> <zonetemplate> <wp:RowProviderWebPart Title="provider" ID=rp1 runat=server /> <wp:FieldConsumerWebPart Title="consumer" ID=fc1 runat=server /> </zonetemplate> </asp:webpartzone> </td> <td> <asp:connectionszone id=connectionszone1 runat=server /> </td> </tr> </table> </form> </body> </html>
このコード例には、ユーザーが Web パーツ ページ上で表示モードを変更できるようにするユーザー コントロールが含まれています。ユーザー コントロールのソース コードは、別のトピックのものを使用しています。「チュートリアル : Web パーツ ページでの表示モードの変更」からユーザー コントロール用の .ascx ファイルを取得し、.aspx ページと同じフォルダに配置する必要があります。


System.Web.UI.WebControls.WebParts.WebPartTransformer
System.Web.UI.WebControls.WebParts.RowToFieldTransformer


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


RowToFieldTransformer コンストラクタ
アセンブリ: System.Web (system.web.dll 内)


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


RowToFieldTransformer プロパティ


名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.WebControls.WebParts.IWebPartField.Schema | このメンバの説明については、IWebPartField.Schema のトピックを参照してください。 |

RowToFieldTransformer メソッド

名前 | 説明 | |
---|---|---|
![]() | CreateConfigurationControl | オーバーライドされます。 ConnectionsZone ゾーン内に RowToFieldTransformer トランスフォーマを構成する ASP.NET コントロールを表示します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
![]() | Transform | オーバーライドされます。 データを変換するオブジェクトを提供します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.WebControls.WebParts.IWebPartField.GetFieldValue | このメンバの説明については、IWebPartField.GetFieldValue のトピックを参照してください。 |

RowToFieldTransformer メンバ
IWebPartRow インターフェイスを実装しているプロバイダから IWebPartField インターフェイスを通じてデータを受け取るコンシューマへの Web パーツ接続においてデータを変換します。
RowToFieldTransformer データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | CreateConfigurationControl | オーバーライドされます。 ConnectionsZone ゾーン内に RowToFieldTransformer トランスフォーマを構成する ASP.NET コントロールを表示します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
![]() | Transform | オーバーライドされます。 データを変換するオブジェクトを提供します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.WebControls.WebParts.IWebPartField.GetFieldValue | このメンバの説明については、IWebPartField.GetFieldValue のトピックを参照してください。 |
![]() | System.Web.UI.WebControls.WebParts.IWebPartField.Schema | このメンバの説明については、IWebPartField.Schema のトピックを参照してください。 |

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

- RowToFieldTransformerのページへのリンク