Charting for an ASP.NET application - c#

I am just starting a new ASP.NET application. Is it preferable for me to use the MS Charting controls for .NET, as that's already the domain I am using, or is there a real reason to look at other tools such as Google Charts?
Also, I can't seem to find any online/live examples of the MS Charting component online, which makes it a bit difficult to evaluate...

Here's a good tutorial on Microsoft's .NET Chart Control.
http://dotnetslackers.com/articles/aspnet/microsoft-chart-with-asp-net-35-part1.aspx
While it's good for simple charts, you're better off with a 3rd party control like Telerik's RadCharts for better customizablity & features

You should evaluate SVG+jSON as well. Before you evaluate, you should estimate the load on your web site. Server side charting API's provide very good functionality, but do comsume CPU cycles.If you are expecting a lot of traffic for those pages, you are better off with SVG+jSON for charting. There are some good jQuery plugins which can do that for you

I am doing a lot of charts and my experience is that you get more and more requirements on the charts and then it is good to have a product that can meet the new requirements so I have used Software FX Chart FX
http://www.softwarefx.com/
(source: softwarefx.com)
This is a mature product (like Dundas) and so far I have succeded to create what I want. The test I did with MS Chart worked good and was easy to create the charts but I feel the API is better for Chart FX.
http://demo.softwarefx.com/chartfx/aspnet/ajaxsamples/

Related

Generating an Organogram in MVC and Displaying in View

I imagine this question will not bear anything, but this is a last ditch attempt before I have to tell my PM I simply can't do it.
My colleague (usefully before leaving the project) was a yes man to everything our PM asked for, regardless of what it was, and I seem to have been volunteered to create some functionality that will generate an Organogram / Organisational Chart and present it in the view.
I have dug around and asked around, no one really seems to know how I would go about doing this. Can anyone offer any advice on anything that can help? Even if it's the most basic tutorial or obscure API ever, it will be helpful.
To put a point on it, my question is: Is it possible to generate a chart in an ASP.NET MVC C# Application, and display it on a View? (Even a yes or no would help)
Yes, everything is possible. It's just a matter of how much time you can spend on it. Not everything has a good return on investment though, but that's for your PM to decide. As long as your team can make an estimation of the complexity.
But for ASP.NET, Microsoft has a Charting library that allows you to build charts. There are also commercial libraries (the first google hit) out there that are more feature rich.
And if they don't work, you can Always build images manually using the System.Drawing namespace of .NET (that will of course take considerably more time than plotting a chart using one of the available libraries). Generated images can be sent through an ashx handler, or you can embed the image in the same page using base64 encoding.
It's not bad to say yes to your PM, but I rather say: "Yes, we will stick this feature on the feature list / back log, and make a estimate of the complexity. Once we know the complexity you can choose to select it for a future iteration." But perhaps I'm talking too Agile now ;-)
You can hand off the chart drawing to an external library, for example, Google Visualization: Organizational Chart
Have a look at this question for other suggested librairies:
What's the best library to draw organization chart using JavaScript?
This sounds like it's in a commercial scenario, so it's really worth looking at the commercially available solutions. Steven already mentioned one, but as far as I can see that one is for Windows Forms and the other one is for charts as in bar charts and provides no organigram features.
A Javascript diagramming library with the capabilities of displaying organizational charts is yFiles for HTML. It has a nice online example of an organization chart that might be exactly what you are looking for:
There is also a Video that shows the demo in action.
The library is a pure Javascript implementation that does not depend on server libraries or servers at all. Integrating it in an ASP.net environment should be easy though, as long as you know Javascript. Being a library it offers full customization capabilities. You can determine the look and the feel of all aspects of the chart. Under the hood the library is a generic graph drawing and editing tool and the organizational chart is just one possible use-case.
Full disclosure: I work for the company that created the library, but on SO I do not represent my employer. My comments, thoughts, etc. are my own.

Google Chart API and WPF

I write a C#-application at the moment. For my finance data, I want to use a bar chart. After I searched a lot on Google, the best way seems to be Google Chart API.
My problem is, that it should not be necessary that I have internet-access when I start my application.
Is it possible to work with Google Chart API without internet-access? Or what is a good alternative for a bar chart in WPF?
As for native WPF charts you can definitely take a look at DevExpress WPF Chart control - DXCharts
They supports animation, end-user interaction and work pretty fast in my projects that handle financial data.
Google APIs work online only and you cannot consume them while offline.
about alternatives, the MS Chart control should be free, see how to use it from WPF or SL here:
Microsoft Client Continuum in action: The Silverlight toolkit charts, running in WPF
for commercial level and feature rich controls, personally I love the XtraCharts from DevXpress, there are also others from Telerik and Software FX but XtraChart is really easy to use and powerful.

Comparison between MS Charts and ZedGraph?

Question: Anybody has experience with ZedGraph / MS-Chart controls ?
I am thinking about which to use ?
Basically, I have a tendency to ZedGraph,
because I need .NET framework 2.0 while MS-Chart is 3.5 (and I don't know how well a 3.5 assembly works on 2.0)
and because I could use it privately, too (I use Linux privately).
But I don't know if MS-Charts offers more.
Does ZedGraph for example offer reasonable quality 3d piecharts ?
And reasonable color design, like gradient colors ?
And if it does, is it as simple (or nearly as simple) as MS-Chart controls ?
And does ZedGraph offer databinding, e.g. a datatable from a database ?
I've tried some examples in my free time.
With a bit of minor tweaking, ZedGraph's quality is just as good as MS/Dundas Chart controls.
Here's an example of a 3d piechart:
http://www.codeproject.com/KB/web-image/3dpiechart.aspx
Zedgraph is a bit more user-unfriendy than MS/Dundas chart controls.
However, Zedgraph is also more powerful and faster, while the rendering quality is the same.
Plus Zedgraph is cross-platform, while MS-Chart controls is limited to windows (by license, not by technique).
So the way to go is definitely Zedgraph.
A deeper reason can be found here:
http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/1271d98f-f52e-424d-a0dc-8bc831a5f4b8
I have used MSCharts since they went RTM and have been pleased with them for many different kinds of charts; however, I find them deficient when I want to generate a plot or a graph. For these, ZedGraph seems to offer a more appealing solution.
The MSChart Samples environment can give you a good idea of the capabilities of that library. You can compare the samples environment to the demos from the ZedGraph wiki to see they have a lot of overlapping capability. I've just found that this kind of chart is pretty difficult to create with MSChart.
I have used them to create complex dashboards, and they are very stable, well written pieces of code. However, you have to consider the fact that whichever you would be betting on, would actually be there for a long time.
Additionally, if you're using MSCharts, you would be able to use the same knowledge to build charts for web applications as well (on ASP.net)
However, if you are using them in a server ASP.net based environment, the only issue with MSCharts is that they are not dynamic charts i.e. they are rendered as images and returned from the server. They use image maps to support HyperLinks / Tooltips, and work pretty well.
I haven't used MSChart, but from my experience with ZedGraph, you can't make 3-d charts. ZedGraph also requires a bit of tweaking to make really sharp looking graphs (if you notice, most of their examples don't qualify for this title).

Drill down charts for asp.net

My employer has asked me to create some web pages with various charts - one of the requirements is to have a click through ability for further detials. I am looking for sugestions on chart libraries that I could use.
c#, .net 2.0
UPDATE:
I used zedgraph with a imagemap
drilldown Sample
Check out ZedGraph.
Seems to be a bit stale in terms of active development, but it may give you what you want.
You can check out: http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx :-)
The free ASP.NET Charting controls support clickable regions. You can set a URL for individual data items.
As long as you don't mind wiring all this up, you'll be fine. If you want the drill-down to happen automatically, you'll want something more powerful.

What is the best 3rd party GUI framework for application development in C#?

Examples could be Infragistics or DevExpress.
But I'm also looking for your opinions on other frameworks. It could even be WPF if that is your favorite.
Infragistics is very good. I think they have a better product for windows than the web. However, I get very upset using their products sometimes. I just want to find some hidden property, and it is impossible to find. They have way to many properties. Sure, you can do anything with their grid, but it should be easier. All of these vendors are leap frogging each other. You really have to compare all of them every year or two. I am currently using Infragistics on most web and windows project. If I could switch today, I would go to DevExpress for Web and Windows. Everything that Mark Miller and the guys at DevExpress produce is beautiful, and thoughtful. On a side point, you should check out CodeRush and Refacter. I may sound like a salesman, but I am not. I just could no longer code without CodeRush. It would feel like coding with one hand. If you are going to spend $1000 or more on a framework, you should also get CodeRush.
I've used Telerik RAD Controls for Asp.Net and it is a very comprehensive suite of controls that are easily converted to AJAX. The support is top notch, with the forum as a first place to go to for research before contacting the staff.
The client side API is fairly easy to understand, and they have good examples of mixed implementations with client and server side code.
I would say Infragistics
Haven't used it before, but I've heard good things about Telerik. My experience with the Infragistics Web components has been less than stellar. I found there were a lot of hidden features that I required, which were undocumented and had to go hunt around in the sample code for examples.
These toolkits can make sense for intranet applications but when you start providing it out on the web, the functionality can come at the cost of a bigger download for users. Just something to keep in mind.
What frameworks are you looking for? I currently use Janus Grids for grids on the winform side, but DevExpress has an awesome web grid that is amazing.
For current Winforms development my favorite is Infragistics. DevExpress seems to have more Silverlight controls in the works, but Infragistics may deliver.
I don't do much non-web development, but if I do I like to use gtk# for Mono (screenshots). It's much more fun and very easy to program then winforms. WPF looks good to, but I only tried an Hello World.
Infragistics has got good controls for Applications. WinGrid is one of the most important ones which would help you displaying information professionally and is quick.
the only drawback is the time consuming process of contacting their helpdesk or searching for the hidden properties. But they do work after you get to know them !
I would say go for DevExpress seems to be the most elegant, intuitive and well document suite out there.
To see their product offering in action demos.devexpress.com
Do the same for any component suite check out their demos and see which best suit you needs.

Categories