Solved

Creating Dundas Chart at runtime  - ASP.NET

Posted on 2009-05-12
4
1,690 Views
Last Modified: 2012-06-27
I need to create a Dundas chart control from scratch at runtime.  could anyone point me to a sample or provide some simple sample code for doing so??  Thanks in Advance.

this is Dundas for ASP.NET
0
Comment
Question by:BoggyBayouBoy
4 Comments
 
LVL 9

Expert Comment

by:VikramMullick
ID: 24366163
Attached is the link
http://www.dundas.com/Products/Chart/index.aspx
Download the evaluation version . Here you will have plenty of examples for manking dundas chart , through ASP.NET
0
 
LVL 1

Author Comment

by:BoggyBayouBoy
ID: 24366255
Thanks, but I already did that.   I don't see any purely run-time generated controls in the examples.  Are you referring to any particular example?
0
 
LVL 14

Accepted Solution

by:
GiftsonDJohn earned 500 total points
ID: 24372519
Hi

Try this.
                Chart schart = new Chart();

                schart.Width = Unit.Pixel(400);

                schart.Height = Unit.Pixel(300);

                schart.BackColor = Color.White;

                schart.BorderLineColor = Color.FromArgb(244, 244, 244);

                schart.BorderLineStyle = ChartDashStyle.Solid;

                schart.BorderLineWidth = 1;

                

                schart.CustomizeLegend += new CustomizeLegendEventHandler(schart_CustomizeLegend);
 

                schart.Titles.Add("Title of the Chart", Docking.Top, new Font("Trebuchet MS", 12, FontStyle.Bold), Color.FromArgb(26, 59, 105));
 

                schart.ImageStorageMode = ImageStorageMode.UseHttpHandler;

                schart.Attributes.Add("PreserveAspectRation", "true");
 

                schart.ChartAreas.Add("Default");

                schart.Series.Add("Series1");
 

                SeriesChartType sctype = SeriesChartType.Doughnut;

                schart.Series["Series1"].Type = sctype; 
 

                if (sctype == SeriesChartType.Doughnut || sctype == SeriesChartType.StackedRose || sctype == SeriesChartType.Pie)

                {

                    schart.ChartAreas["Default"].Area3DStyle.Perspective = 80;

                    schart.ChartAreas["Default"].Area3DStyle.XAngle = 40;

                    schart.ChartAreas["Default"].Area3DStyle.YAngle = 90;

                }

                else if (sctype == SeriesChartType.Area || sctype == SeriesChartType.Bar || sctype == SeriesChartType.Column || sctype == SeriesChartType.Bubble || sctype == SeriesChartType.RangeColumn)

                {

                    schart.ChartAreas["Default"].Area3DStyle.Perspective = 20;

                    schart.ChartAreas["Default"].Area3DStyle.XAngle = 10;

                    schart.ChartAreas["Default"].Area3DStyle.YAngle = 20;

                }
 

                schart.ChartAreas["Default"].Area3DStyle.Enable3D = true;

                schart.ChartAreas["Default"].AxisX.LabelStyle.Interval = 1;

                schart.ChartAreas["Default"].Area3DStyle.PointDepth = 200;

                schart.ChartAreas["Default"].Area3DStyle.PointGapDepth = 0;
 

                schart.ChartAreas["Default"].BackColor = Color.White;
 
 

                //schart.Series["Series1"].CustomAttributes = "LabelStyle=Outside";

                schart.Series["Series1"].CustomAttributes = "LabelStyle=Disabled";

                schart.Series["Series1"].XValueIndexed = true;
 

                schart.Series["Series1"].PaletteCustomColors = new Color[] { Color.Red, Color.Yellow, Color.Blue, Color.Green, Color.Gray };
 

                schart.DataSource = dtAggregate.DefaultView;

                dtAggregate.DefaultView.Sort = "Sort column";
 

                schart.Series["Series1"].ValueMemberX = "ValueMemberX";

                schart.Series["Series1"].ValueMembersY = "ValueMemberY";

                schart.DataBind();
 

                if (sctype == SeriesChartType.Pie || sctype == SeriesChartType.Doughnut)

                {

                    schart.Legends["Default"].HeaderSeparator = LegendSeparatorType.Line;

                    schart.Legends["Default"].HeaderSeparatorColor = Color.Gray;

                    schart.Legends["Default"].Docking = LegendDocking.Bottom;

                    schart.Legends["Default"].Alignment = StringAlignment.Center;

                    schart.Legends["Default"].BorderStyle = ChartDashStyle.Solid;

                    schart.Legends["Default"].BorderColor = Color.Black;

                    schart.Legends["Default"].BorderWidth = 1;

                    schart.Legends["Default"].ItemColumnSeparator = LegendSeparatorType.Line;
 

                    LegendCellColumn firstColumn = new LegendCellColumn("Color", LegendCellColumnType.SeriesSymbol, string.Empty);

                    firstColumn.HeaderBackColor = Color.WhiteSmoke;
 

                    LegendCellColumn secondColumn = new LegendCellColumn("Scale", LegendCellColumnType.Text, "#LEGENDTEXT");

                    secondColumn.HeaderBackColor = Color.WhiteSmoke;

                    secondColumn.Alignment = ContentAlignment.MiddleLeft;
 

                    LegendCellColumn thirdColumn = new LegendCellColumn("Count", LegendCellColumnType.Text, "#VALY");

                    thirdColumn.HeaderBackColor = Color.WhiteSmoke;
 

                    schart.Legends["Default"].CellColumns.Add(firstColumn);

                    schart.Legends["Default"].CellColumns.Add(secondColumn);

                    schart.Legends["Default"].CellColumns.Add(thirdColumn);

                }

                else

                    schart.Legends.Clear();
 

              placeholder1.Controls.Add(schart);

Open in new window

0
 
LVL 2

Expert Comment

by:MrFantastic6
ID: 36057109
I tried this example, but my new chart doesn't appear in the placeholder.  Everything is visible.  I wonder what I'm missing?
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Lots of people ask this question on how to extend the “MembershipProvider” to make use of custom authentication like using existing database or make use of some other way of authentication. Many blogs show you how to extend the membership provider c…
This article discusses the ASP.NET AJAX ModalPopupExtender control. In this article we will show how to use the ModalPopupExtender control, how to display/show/call the ASP.NET AJAX ModalPopupExtender control from javascript, how to show/display/cal…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now