The new API would allow some of the default functions to be removed and custom aggregate functions to be added. At the moment the dialog can be modified like this:
Public Class MyAggregateOptionsDialog
Inherits AggregateOptionsDialog
Private availableAggregateFunctions As IList(Of AggregateFunction) = New List(Of AggregateFunction)() From {
AggregateFunctions.Sum,
AggregateFunctions.Count,
AggregateFunctions.Average,
AggregateFunctions.Max,
AggregateFunctions.Min,
AggregateFunctions.Product,
AggregateFunctions.StdDev,
AggregateFunctions.StdDevP,
AggregateFunctions.Var,
AggregateFunctions.VarP,
New SqrtSumAggregateFunction()
}
Public Overrides Sub LoadSettings(aggregateDescription As PropertyAggregateDescriptionBase)
MyBase.LoadSettings(aggregateDescription)
Dim listAggregateFunctions = DirectCast(Me.GetType().BaseType.GetField("listAggregateFunctions", BindingFlags.NonPublic Or BindingFlags.Instance).GetValue(Me), RadListControl)
listAggregateFunctions.DataSource = availableAggregateFunctions
End Sub
End Class