Hi have a requirement to generate a grid of photos.
I have managed to get the data in the shape where this can be grouped in a cross-tab. The photos I need to bind to have a filename of {id}.jpg in a known folder. I have created a user function that accepts the Fields.Id, retrieves this photo and returns an image (this is a technique I've used before successfully).
I have added a picturebox into the detail of the crosstab, but whenever I go to bind the "value" of the picturebox to the user function, Visual Studio crashes. Stack trace below. I suspect as this is in the detail it's trying to apply some aggregate to it. Are there any workarounds to do this binding at runtime to get around this designer bug?
Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException
Server stack trace:
at System.Linq.Enumerable.Cast[TResult](IEnumerable source)
at Telerik.Reporting.Design.Common.Utils.AggregateFunctionHelper.GetAggregateFunctions(IServiceProvider provider)
at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.<GetAggregates>d__28.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.FillAggregates(Category funcCategory, IServiceProvider provider)
at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.CreateHierarchy(IServiceProvider provider, Boolean isFieldsTreeVisible)
at Telerik.Reporting.Design.Common.ExpressionBuilder.ExpressionBuilderDialog.LoadCategories(IServiceProvider provider)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(System.Runtime.Remoting.Messaging.Message, Boolean)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(System.Object, System.Runtime.Remoting.Proxies.MessageData ByRef)
at Telerik.Reporting.Design.Common.ExpressionBuilder.ExpressionBuilderDialog+LoadCategoriesDelegate.EndInvoke(System.IAsyncResult)