Friday, September 26, 2008 11:59 AM
When using the Ultrachart I have found only through pain that I was trying to do too much too fast. Here are a few insights I have into using the Ultrachart.
There are different 'levels' of usage in order of your understanding that is required. I will refer to Design-Time Creation and Run-Time Creation by my acronyms DTC and RTC respectively.
Choose one method (you still pick the type of chart(s) you want).
- DTC Simple Chart
- DTC Composite Chart
- RTC Simple Chart
- DTC Composite Chart
Then work your way down until you get the results you want.
- DTC Data Binding
- RTC Data Binding
- RTC DataPoints
- RTC Handling Render/Draw events
On top of the choices above, you also have a choice of rendering. A note as well (unless a later update fixed this) the results can be very different and the same setup may not work with both methods.
- Drag/Drop Rendering
- Image Rendering (chart.SaveTo a Stream)
Depending on your needs, start very small and use the DTC in a simple way to peak into what is going on under the covers. Binding is not always a good thing unless you transform the real data into exactly what you want. I had a little bit of reuse of the data containers so I massaged them into other objects to make the charting easier.
I ultimately ended up with a RTC Composite Chart (column and scatter) using Datapoints and IRenderLabels with Infra 6.3. It was an extremely frustrating process and yet rewarding. I had an advantage that I already had an example of what the customer wanted in Excel so I could reverse engineer what Excel did to help guide me.
I still think using a toolkit is better than rolling your own unless you are a really good charting/drawing person and have the time to make it nice. No matter what you use it will feel like it is lacking. I am so tired of reinventing the wheel only to find my wheel is not any better than the one I could have bought for cheaper (accounting for my time).
If you are wanting a learning experience then by all means have fun, otherwise, make the customer happy and satisfy your curiosity after implementation!
Here is another post of mine about the Ultrachart that might be helpful (
link).
Updated: Adding
link for future reading.
Updated: 2008.10.01
rusty