IWebPartField.Schema プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > IWebPartField.Schema プロパティの意味・解説 

IWebPartField.Schema プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

2 つWebPart コントロール間でデータ共有するために使用されるデータ フィールドスキーマ情報取得します

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

ReadOnly Property Schema As
 PropertyDescriptor
Dim instance As IWebPartField
Dim value As PropertyDescriptor

value = instance.Schema
PropertyDescriptor Schema { get; }
property PropertyDescriptor^ Schema {
    PropertyDescriptor^ get ();
}
/** @property */
PropertyDescriptor get_Schema ()
function get Schema () : PropertyDescriptor

プロパティ
データ フィールドスキーマ情報記述する PropertyDescriptor。

解説解説
使用例使用例

Schema プロパティ実装して使用するコード例次に示します。完全なサンプルについては、IWebPartField インターフェイスクラス概要参照してくださいプロバイダ コントロールSchema プロパティ実装ます。次に、その GetFieldValue メソッド内で、このプロパティ使用してフィールド値を取得します

Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Reflection
Imports System.Security.Permissions
Imports System.Web
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 
  ' provider of field data.
  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public NotInheritable Class
 FieldProviderWebPart
    Inherits WebPart
    Implements IWebPartField
    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


    <ConnectionProvider("FieldProvider")> _
    Public Function GetConnectionInterface()
 As IWebPartField
      Return New FieldProviderWebPart()

    End Function


    Public ReadOnly Property
 Schema() As ComponentModel.PropertyDescriptor _
      Implements IWebPartField.Schema
      Get
        ' The two parameters are row and field. Zero is the first record.
 
        ' 0,2 returns the zip code field value.   
        Return TypeDescriptor.GetProperties(_table.DefaultView(0))(2)
      End Get
    End Property


    Sub GetFieldValue(ByVal callback As
 FieldCallback) _
      Implements IWebPartField.GetFieldValue

      callback(Schema.GetValue(_table.DefaultView(0)))

    End Sub

  End Class 'FieldProviderWebPart
 


  ' This sample code creates a Web Parts control that acts as a 
  ' consumer of an IWebPartField interface.
  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class FieldConsumerWebPart
    Inherits WebPart

    Private _provider As IWebPartField
    Private _fieldValue As Object


    Private Sub GetFieldValue(ByVal
 fieldValue As Object)
      _fieldValue = fieldValue

    End Sub


    Public Property ConnectionPointEnabled()
 As Boolean
      Get
        Dim o As Object
 = ViewState("ConnectionPointEnabled")
        Return IIf(Not (o Is
 Nothing), CBool(o), True)
      End Get
      Set(ByVal value As
 Boolean)
        ViewState("ConnectionPointEnabled") = value
      End Set
    End Property


    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


    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

    <ConnectionConsumer("FieldConsumer", "Connpoint1",
 _
      GetType(FieldConsumerConnectionPoint), AllowsMultipleConnections:=True)>
 _
    Public Sub SetConnectionInterface(ByVal
 provider As IWebPartField)
      _provider = provider

    End Sub

  End Class 'FieldConsumerWebPart

  Public 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


    Public Overrides Function
 GetEnabled(ByVal control As Control) _
      As Boolean

      Return CType(control, FieldConsumerWebPart).ConnectionPointEnabled

    End Function

  End Class 'FieldConsumerConnectionPoint

End Namespace  ' Samples.AspNet.VB.Controls
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Reflection;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
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 provider
 
  // of field data.
  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public sealed class FieldProviderWebPart
 : WebPart, IWebPartField
  {
    private DataTable _table;

    public FieldProviderWebPart() 
    {
        _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("FieldProvider")]
      public IWebPartField GetConnectionInterface()
    {
        return new FieldProviderWebPart();
    }

    public PropertyDescriptor Schema 
    {
        get 
        {
            /* The two parameters are row and field. Zero is the first record. 
                0,2 returns the zip code field value.   */ 
            return TypeDescriptor.GetProperties(_table.DefaultView[0])[2];
        }
    }

      void IWebPartField.GetFieldValue(FieldCallback callback)
 
    {
        callback(Schema.GetValue(_table.DefaultView[0]));
    }

  } // end FieldProviderWebPart

  // This sample code creates a Web Parts control that acts as a consumer
 
  // of an IWebPartField interface.
  [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["ConnectionPointEnabled"] = 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("FieldConsumer", "Connpoint1", 
      typeof(FieldConsumerConnectionPoint), AllowsMultipleConnections = true)]
    public void SetConnectionInterface(IWebPartField
 provider)
    {
      _provider = provider;
    }

    public 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;
      }
    } // end FieldConsumerConnectionPoint

  } // end FieldConsumerWebPart

} // end namespace Samples.AspNet.CS.Controls
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IWebPartField インターフェイス
IWebPartField メンバ
System.Web.UI.WebControls.WebParts 名前空間
PropertyDescriptor


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

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

辞書ショートカット

すべての辞書の索引

「IWebPartField.Schema プロパティ」の関連用語

IWebPartField.Schema プロパティのお隣キーワード
検索ランキング

   

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



IWebPartField.Schema プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS