RowToFieldTransformerとは? わかりやすく解説

RowToFieldTransformer クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

IWebPartRow インターフェイス実装しているプロバイダから IWebPartField インターフェイス通じてデータ受け取コンシューマへの Web パーツ接続においてデータ変換します

名前空間: System.Web.UI.WebControls.WebParts
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 RowToFieldTransformer
    Inherits WebPartTransformer
    Implements IWebPartField
Dim instance As RowToFieldTransformer
public sealed class RowToFieldTransformer :
 WebPartTransformer, IWebPartField
public ref class RowToFieldTransformer sealed
 : public WebPartTransformer, IWebPartField
public final class RowToFieldTransformer extends
 WebPartTransformer implements IWebPartField
public final class RowToFieldTransformer extends
 WebPartTransformer implements IWebPartField
解説解説
使用例使用例

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 ページと同じフォルダ配置する必要があります

.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Web.UI.WebControls.WebParts.WebPartTransformer
    System.Web.UI.WebControls.WebParts.RowToFieldTransformer
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
RowToFieldTransformer メンバ
System.Web.UI.WebControls.WebParts 名前空間

RowToFieldTransformer コンストラクタ


RowToFieldTransformer プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ FieldName 変換する値の名前を取得または設定します
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.WebControls.WebParts.IWebPartField.Schema このメンバ説明については、IWebPartField.Schema のトピック参照してください
参照参照

関連項目

RowToFieldTransformer クラス
System.Web.UI.WebControls.WebParts 名前空間

RowToFieldTransformer メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.WebControls.WebParts.IWebPartField.GetFieldValue このメンバ説明については、IWebPartField.GetFieldValue のトピック参照してください
参照参照

関連項目

RowToFieldTransformer クラス
System.Web.UI.WebControls.WebParts 名前空間

RowToFieldTransformer メンバ

IWebPartRow インターフェイス実装しているプロバイダから IWebPartField インターフェイス通じてデータ受け取コンシューマへの Web パーツ接続においてデータ変換します

RowToFieldTransformer データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド RowToFieldTransformer RowToFieldTransformer クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ FieldName 変換する値の名前を取得または設定します
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.WebControls.WebParts.IWebPartField.GetFieldValue このメンバ説明については、IWebPartField.GetFieldValue のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.WebControls.WebParts.IWebPartField.Schema このメンバ説明については、IWebPartField.Schema のトピック参照してください
参照参照

関連項目

RowToFieldTransformer クラス
System.Web.UI.WebControls.WebParts 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からRowToFieldTransformerを検索した結果を表示しています。
Weblioに収録されているすべての辞書からRowToFieldTransformerを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からRowToFieldTransformer を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「RowToFieldTransformer」の関連用語

RowToFieldTransformerのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



RowToFieldTransformerのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS