WebPartTransformerAttribute Class
Assembly: System.Web (in system.web.dll)
'Declaration <AttributeUsageAttribute(AttributeTargets.Class)> _ Public NotInheritable Class WebPartTransformerAttribute Inherits Attribute 'Usage Dim instance As WebPartTransformerAttribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class) */ public final class WebPartTransformerAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class) public final class WebPartTransformerAttribute extends Attribute
Transformers are used to translate data between two Web Parts controls with incompatible connection points. Connection points are incompatible when they provide or consume data through different interfaces. For example, a provider implementing a provider connection point of type IWebPartRow could not directly connect to a consumer expecting a provider connection point of type IWebPartTable. Instead, a transformer must be used to connect the two connection points. A customized transformer can be created by deriving a class from the WebPartTransformer class.
The WebPartTransformerAttribute attribute is applied to a WebPartTransformer class. It defines the type of provider connection point and the type of consumer connection point that a transformer supports. The type of consumer and provider connection points supported by the transformer must match the connection points of the consumer and provider Web Parts controls for a connection to be made between the controls. At run time, the type of connection points that a particular transformer supports can be retrieved through the GetConsumerType and GetProviderType methods.
The following code example demonstrates the use of a WebPartTransformerAttribute attribute with a customized WebPartTransformer class. The attribute indicates that the RowToStringTransformer class can transform a provider connection point of type IWebPartRow to a consumer connection point of type IString.
This code example is part of a larger example found in the WebPartTransformer class overview.
' A transformer that transforms a row to a string. <AspNetHostingPermission(SecurityAction.Demand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ <AspNetHostingPermission(SecurityAction.InheritanceDemand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ <WebPartTransformer(GetType(IWebPartRow), GetType(IString))> _ Public Class RowToStringTransformer Inherits WebPartTransformer Implements IString Private _provider As IWebPartRow Private _callback As StringCallback Private Sub GetRowData(ByVal rowData As Object) Dim props As PropertyDescriptorCollection = _provider.Schema If ((Not (props Is Nothing)) AndAlso (props.Count > 0) _ AndAlso (Not (rowData Is Nothing))) Then Dim returnValue As String = String.Empty For Each prop As PropertyDescriptor In props If Not (prop Is props(0)) Then returnValue += ", " End If returnValue += prop.DisplayName.ToString() + ": " + _ prop.GetValue(rowData).ToString() Next _callback(returnValue) Else _callback(Nothing) End If End Sub Public Overrides Function Transform(ByVal providerData As Object) As Object _provider = CType(providerData, IWebPartRow) Return Me End Function Sub GetStringValue(ByVal callback As StringCallback) _ Implements IString.GetStringValue If (callback Is Nothing) Then Throw New ArgumentNullException("callback") End If If (Not (_provider Is Nothing)) Then _callback = callback _provider.GetRowData(New RowCallback(AddressOf GetRowData)) Else callback(Nothing) End If End Sub End Class
- AspNetHostingPermission for operating in a hosted environment. Demand value: LinkDemand; Permission value: Minimal.
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
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.