Skip to main content

Same chart showing in two different ChartAreas

.aspx code:





ImageStorageMode="UseImageLocation" Width="600px"
ImageLocation="~/images/TempCharts">





IsStartedFromZero="False">











ImageStorageMode="UseImageLocation" Width="600px"
ImageLocation="~/images/TempCharts" DataSourceID="sdsPieProductsIn">











.aspx.cs code:

public void DrawPieChart()
{
DataView dv = (DataView)sdsPieProductsIn.Select(DataSourceSelectArguments.Empty);

ArrayList xValues = new ArrayList();
ArrayList yValues = new ArrayList();

PieChartProductsIn.ChartAreas["PieChartArea"].Area3DStyle.Enable3D = true;
PieChartProductsIn.Titles["PieTitle"].Text = "Fordeling";

for (int i = 0; i < dv.Count; i++)
{
xValues.Add(dv[i][6].ToString());
yValues.Add(dv[i][11].ToString());
}

PieChartProductsIn.Series.Add("ProductsIn");
PieChartProductsIn.Series["ProductsIn"].Points.DataBindXY(xValues, yValues);
PieChartProductsIn.Series["ProductsIn"].ChartType = SeriesChartType.Pie;
}

public void DrawGraph()
{
DataView dv = (DataView)sdsGetRegistrations.Select(DataSourceSelectArguments.Empty);
Label1.Text = dv[0][24].ToString();

chartBridgeRegs.DataSource = sdsGetRegistrations;
if (RadioButtonList1.SelectedValue == "1")
chartBridgeRegs.Titles["Title1"].Text = "Indvejninger på brovægt";
if (RadioButtonList1.SelectedValue == "2")
chartBridgeRegs.Titles["Title1"].Text = "Udvejninger på brovægt";
if (RadioButtonList1.SelectedValue == "0")
chartBridgeRegs.Titles["Title1"].Text = "Ind- og udvejninger på brovægt";

chartBridgeRegs.ChartAreas["ChartArea1"].AxisY.Minimum = 0;

chartBridgeRegs.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = false;

chartBridgeRegs.Series.Add("Indvejning");

chartBridgeRegs.Series["Indvejning"].XValueMember = "RegTime";
chartBridgeRegs.Series["Indvejning"].YValueMembers = "Amount";

chartBridgeRegs.Series["Indvejning"].ShadowColor = System.Drawing.Color.DarkGray;
chartBridgeRegs.Series["Indvejning"].ShadowOffset = 2;

chartBridgeRegs.Series["Indvejning"].ChartType = SeriesChartType.Column;
chartBridgeRegs.Series["Indvejning"]["PointWidth"] = "0.2";
chartBridgeRegs.Series["Indvejning"].IsValueShownAsLabel = true;
chartBridgeRegs.Series["Indvejning"]["BarLabelStyle"] = "Center";
chartBridgeRegs.Series["Indvejning"].ToolTip = "Vægt: #VALY kg \nDato: #VALX";
chartBridgeRegs.Series["Indvejning"]["DrawingStyle"] = "Cylinder";

chartBridgeRegs.Legends.Add(new Legend("Indvejning"));
chartBridgeRegs.Legends["Indvejning"].Docking = Docking.Bottom;

chartBridgeRegs.DataBind();

//Sætter farver på søjler
for (int i = 0; i < dv.Count; i++)
{
if (dv[i][21].ToString() == "1")
{
chartBridgeRegs.Series["Indvejning"].Points[i].Color = System.Drawing.Color.CornflowerBlue;
chartBridgeRegs.Series["Indvejning"].Points[i].BackSecondaryColor = System.Drawing.Color.SkyBlue;
chartBridgeRegs.Series["Indvejning"].Points[i].BackGradientStyle = GradientStyle.DiagonalLeft;
}
if (dv[i][21].ToString() == "0")
{
chartBridgeRegs.Series["Indvejning"].Points[i].Color = System.Drawing.Color.Red;
chartBridgeRegs.Series["Indvejning"].Points[i].BackSecondaryColor = System.Drawing.Color.PaleVioletRed;
chartBridgeRegs.Series["Indvejning"].Points[i].BackGradientStyle = GradientStyle.DiagonalLeft;
}
}
}


DrawGraph() and DrawPieChart() are called on a button click when the user has selected the data necessary to retrieve the data from the SqlDataSources.

Hope someone can help me with this.

Regards

Søren Augustesen

Comments

Popular posts from this blog

Drawing Line Charts In asp.net

LineChart.cs import the following namespaces using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Collections; public class LineChart { public Bitmap Bitmapb; public string strTitle = "Default Title"; public ArrayList ArrayListchartValues = new ArrayList(); public float ftXorigin = 0, ftYorigin = 0; public float ftScaleX, ftScaleY; public float ftXdivs = 2, ftYdivs = 2; private int intWidth, intHeight; private Graphics Graphicsg; private Page Pagep; struct datapoint { public float ftx; public float fty; public bool bolvalid; } //initialize public LineChart(int intmyWidth, int intmyHeight, Page myPage) { intWidth = intmyWidth; intHeight = intmyHeight; ftScaleX = intmyWidth; ftScaleY = intmyHeight; Bitmapb = new Bitmap(intmyWidth, intmyHeight); Graphicsg = Graphics.FromImage(Bitmapb); Pagep = myPage; } pu...