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