I have been tasked with coming up with a high performance front-end for a live ActivePivot back-end. I already have a client-side service layer that provides a continuous stream (IObservable<T>
) of pre-aggregated, pre-formatted data, as well as metadata detailing the dimensions and what-not in the report. My requirements can be summarized as:
- Dynamically set up row and column headers based on metadata in the stream.
- Dynamically pass live data through to the appropriate row/column of the control.
- Highlight changes to data. eg. increased values may highlight temporarily in green, decreased values in red.
- Intercept user actions on row/column headers (ie. drill-downs) so that I can instigate a change in the underlying MDX query.
- Intercept user actions (probably double-click) on data values so that I can instigate a drill-through query (the results of which would be displayed in a separate data grid).
All the third party components appear to be geared around slicing and dicing disconnected (or rarely updated) data sets. They sacrifice performance to achieve a higher degree of flexibility that I simply don't need, and performance is paramount for my scenario.
Does anyone know of a WPF control that is performance-focussed and geared more towards the viewing of pre-aggregated, pre-formatted data?