Class AggregateFunctionAttribute
Used to specify the usage and the design time description of the aggregate function. This class cannot be inherited.
Inheritance
Namespace: Telerik.Reporting.Expressions
Assembly: Telerik.Reporting.dll
Syntax
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
public sealed class AggregateFunctionAttribute : Attribute, _Attribute
Examples
This example shows the usage of the attribute.
[AggregateFunction(Description = "Concatenation aggregate. Output: (value1, value2, ...)", Name = "Concatenate")]
class ConcatenateAggregate : IAggregateFunction
{
string result;
public void Accumulate(object[] values)
{
// The aggregate function expects one parameter
object value = values[0];
// null values are not aggregated
if (null == value)
{
return;
}
// The actual accumulation
if (this.result.Length > 0)
{
result += ", ";
}
this.result += value.ToString();
}
public object GetValue()
{
return string.Format("({0})", this.result);
}
public void Init()
{
// Add aggregate function initialization code here if needed
this.result = string.Empty;
}
public void Merge(IAggregateFunction aggregateFunction)
{
ConcatenateAggregate aggregate = (ConcatenateAggregate)aggregateFunction;
if (aggregate.result.Length > 0)
{
if (this.result.Length > 0)
{
result += ", ";
}
this.result += aggregate.result;
}
}
}
_
Class ConcatenateAggregate
Implements IAggregateFunction
Private result As String
Public Sub Accumulate(ByVal values As Object()) Implements IAggregateFunction.Accumulate
' The aggregate function expects one parameter
Dim value As Object = values(0)
' null values are not aggregated
If value Is Nothing Then
Return
End If
' The actual accumulation
If Me.result.Length > 0 Then
result += ", "
End If
Me.result += value.ToString()
End Sub
Public Function GetValue() As Object Implements IAggregateFunction.GetValue
Return String.Format("({0})", Me.result)
End Function
Public Sub Init() Implements IAggregateFunction.Init
' Add aggregate function initialization code here if needed
Me.result = String.Empty
End Sub
Public Sub Merge(ByVal aggregateFunction As IAggregateFunction) Implements IAggregateFunction.Merge
Dim aggregate As ConcatenateAggregate = DirectCast(aggregateFunction, ConcatenateAggregate)
If aggregate.result.Length > 0 Then
If Me.result.Length > 0 Then
result += ", "
End If
Me.result += aggregate.result
End If
End Sub
End Class
Constructors
AggregateFunctionAttribute()
Initializes a new instance of the AggregateFunctionAttribute class.
Declaration
public AggregateFunctionAttribute()
Fields
Default
Returns the default instance of the attribute with all its properties set to default values.
Declaration
public static readonly AggregateFunctionAttribute Default
Field Value
AggregateFunctionAttribute
|
Properties
Description
Gets the description of the aggregate function displayed in the expression builder.
Declaration
public string Description { get; set; }
Property Value
System.String
|
IsVisible
Gets a value indicating whether the aggregate should be shown at
design time. Default value is true
.
Declaration
public bool IsVisible { get; set; }
Property Value
System.Boolean
|
Name
Gets the name of the aggregate function as it should be used in the expressions.
Declaration
public string Name { get; set; }
Property Value
System.String
|
ReturnType
Gets or sets the return type of the aggregate function as it should be used in the expressions.
Declaration
public Type ReturnType { get; set; }
Property Value
System.Type
|
Methods
Equals(Object)
Indicates whether this attribute instance and a specified object are equal.
Declaration
public override bool Equals(object obj)
Parameters
System.Object
obj
Another object to compare to. |
Returns
System.Boolean
|
Overrides
GetHashCode()
Returns the hash code for this attribute instance.
Declaration
public override int GetHashCode()
Returns
System.Int32
A 32-bit signed integer hash code. |
Overrides
IsDefaultAttribute()
Determines if this attribute is the default.
Declaration
public override bool IsDefaultAttribute()
Returns
System.Boolean
|