Hi,
I'm trying to color the series items in the Pie chart, but I failed.
Here is my code:
View attached screen-shots in order to show you that the Pie chart doesn't display the colors I sat for the items.
By the way the pie chart displays the real data, but the colors are wrong.
Please, I need your help in order to solve the above problem.
It is appreciated to send me the modified code.
Regards,
Bader
I'm trying to color the series items in the Pie chart, but I failed.
Here is my code:
//Pie chart Item Data Binding private void pieChart_ItemDataBinding_1(object sender, EventArgs e) { Telerik.Reporting.Processing.Chart chart = sender as Telerik.Reporting.Processing.Chart; Telerik.Reporting.Processing.DetailSection section = (Telerik.Reporting.Processing.DetailSection)chart.Parent; Telerik.Reporting.Processing.IDataObject dataObject = (Telerik.Reporting.Processing.IDataObject)section.DataObject; object rowdata = (object)section.DataObject.RawData; Telerik.Reporting.Processing.TextBox procTextbox = (Telerik.Reporting.Processing.TextBox)section.ChildElements.Find("taskIDTextBox", true)[0]; Telerik.Reporting.Chart chartDef = (Telerik.Reporting.Chart)chart.ItemDefinition; Telerik.Reporting.Charting.ChartSeries series = new Telerik.Reporting.Charting.ChartSeries(); series.Type = ChartSeriesType.Pie; Telerik.Reporting.Charting.ChartLegend legend = new Telerik.Reporting.Charting.ChartLegend(); string CoverDescription; int itemValue; string commandText = string.Empty; SqlConnection connection = new SqlConnection(global::QTaskReporting.Properties.Settings.Default.QTDbConnString); commandText = "SELECT COUNT(*) AS ItemCount, SDesc, SColor FROM vwSubTasksAndStatuses where TaskID = " + procTextbox.Value + " GROUP BY SDesc,SColor"; SqlCommand cmd = new SqlCommand(commandText, connection); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow rowView in ds.Tables[0].Rows) { Telerik.Reporting.Charting.ChartSeriesItem seriesItem = new Telerik.Reporting.Charting.ChartSeriesItem(); //The chart Y value will be based on the Value amount seriesItem.YValue = Convert.ToInt32(rowView["ItemCount"]); seriesItem.Appearance.FillStyle.FillType = Telerik.Reporting.Charting.Styles.FillType.Solid; //The chart item label should be set to the Value amount itemValue = Convert.ToInt32(rowView["ItemCount"]); seriesItem.Label.TextBlock.Text = rowView["SColor"].ToString().Trim() + " - " + rowView["SDesc"].ToString(); seriesItem.Label.Appearance.LabelLocation = Telerik.Reporting.Charting.Styles.StyleSeriesItemLabel.ItemLabelLocation.Inside; seriesItem.Label.TextBlock.Appearance.TextProperties.Color = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(58)))), ((int)(((byte)(112))))); seriesItem.Appearance.FillStyle.FillType = Telerik.Reporting.Charting.Styles.FillType.Solid; seriesItem.Appearance.FillStyle.MainColor = ColorTranslator.FromHtml("#" + rowView["SColor"].ToString().Trim()); //Assign the chart item description CoverDescription = rowView["SDesc"].ToString(); seriesItem.Name = CoverDescription.Trim(); //Give the "New" chart item an exploded appearance if (seriesItem.Name == "New") { seriesItem.Appearance.Exploded = true; } series.AddItem(seriesItem); } //Display the legend series.Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.ItemLabels; series.Appearance.Border.Color = System.Drawing.Color.White; series.Appearance.Border.Visible = false; series.Appearance.DiameterScale = .90; series.Appearance.ExplodePercent = 10; chartDef.Series.Clear(); chartDef.Series.Add(series); chartDef.Legend.Appearance.Position.AlignedPosition = Telerik.Reporting.Charting.Styles.AlignedPositions.TopRight; }View attached screen-shots in order to show you that the Pie chart doesn't display the colors I sat for the items.
By the way the pie chart displays the real data, but the colors are wrong.
Please, I need your help in order to solve the above problem.
It is appreciated to send me the modified code.
Regards,
Bader