Hi,
Since Telerik chart presently not supporting changing series item colors at run when datasource is set, I populated the series and series items with colors at run time with out data source.
Problem: Not able to set X axis labels. The following is the code I have written.
Please help me regarding this.
public static void FillAvgGraph(Telerik.Reporting.Processing.Chart chart, List<AvgPercentGraph> list)
{
Chart definition =(Chart) chart.ItemDefinition;
//chart.DataSource = list;
ChartSeries series = new ChartSeries();
series.Name = "Percent";
//series.Type = ChartSeriesType.StackedBar100;
series.DataYColumn = "Percent";
definition.Legend.Appearance.Position.AlignedPosition = Telerik.Reporting.Charting.Styles.AlignedPositions.Bottom;
ChartAxisItemsCollection labels=new ChartAxisItemsCollection();
int index = 0;
foreach (AvgPercentGraph data in list)
{
ChartSeriesItem seriesItem = new ChartSeriesItem();
seriesItem.Name = data.Name;
seriesItem.YValue = (double)data.Percent;
seriesItem.Label.TextBlock.Appearance.FillStyle.MainColor = Color.Black;
seriesItem.Appearance.FillStyle.FillType = Telerik.Reporting.Charting.Styles.FillType.Solid;
if(data.Percent < 58)seriesItem.Appearance.FillStyle.MainColor = Color.Red;
else if (data.Percent > 58 && data.Percent < 76) seriesItem.Appearance.FillStyle.MainColor = Color.Yellow;
else if (data.Percent > 76 && data.Percent <= 100) seriesItem.Appearance.FillStyle.MainColor = Color.Green;
series.AddItem(seriesItem);
ChartAxisItem item = new ChartAxisItem(data.Name);
labels.Add(item);
}
series.DefaultLabelValue = "#Y" + "%";
// series.Appearance.LabelAppearance.FillStyle.FillType = Telerik.Reporting.Charting.Styles.FillType.Solid;
// series.Appearance.LabelAppearance.FillStyle.MainColor = Color.Red;
definition.Series.Clear();
definition.Series.Add(series);
// definition.Series[0].PlotArea.XAxis.DataLabelsColumn = "Name";
definition.Series[0].PlotArea.YAxis.AddRange(0,100,20);
definition.PlotArea.XAxis.Items.AddRange(labels.ToArray());
}
Since Telerik chart presently not supporting changing series item colors at run when datasource is set, I populated the series and series items with colors at run time with out data source.
Problem: Not able to set X axis labels. The following is the code I have written.
Please help me regarding this.
public static void FillAvgGraph(Telerik.Reporting.Processing.Chart chart, List<AvgPercentGraph> list)
{
Chart definition =(Chart) chart.ItemDefinition;
//chart.DataSource = list;
ChartSeries series = new ChartSeries();
series.Name = "Percent";
//series.Type = ChartSeriesType.StackedBar100;
series.DataYColumn = "Percent";
definition.Legend.Appearance.Position.AlignedPosition = Telerik.Reporting.Charting.Styles.AlignedPositions.Bottom;
ChartAxisItemsCollection labels=new ChartAxisItemsCollection();
int index = 0;
foreach (AvgPercentGraph data in list)
{
ChartSeriesItem seriesItem = new ChartSeriesItem();
seriesItem.Name = data.Name;
seriesItem.YValue = (double)data.Percent;
seriesItem.Label.TextBlock.Appearance.FillStyle.MainColor = Color.Black;
seriesItem.Appearance.FillStyle.FillType = Telerik.Reporting.Charting.Styles.FillType.Solid;
if(data.Percent < 58)seriesItem.Appearance.FillStyle.MainColor = Color.Red;
else if (data.Percent > 58 && data.Percent < 76) seriesItem.Appearance.FillStyle.MainColor = Color.Yellow;
else if (data.Percent > 76 && data.Percent <= 100) seriesItem.Appearance.FillStyle.MainColor = Color.Green;
series.AddItem(seriesItem);
ChartAxisItem item = new ChartAxisItem(data.Name);
labels.Add(item);
}
series.DefaultLabelValue = "#Y" + "%";
// series.Appearance.LabelAppearance.FillStyle.FillType = Telerik.Reporting.Charting.Styles.FillType.Solid;
// series.Appearance.LabelAppearance.FillStyle.MainColor = Color.Red;
definition.Series.Clear();
definition.Series.Add(series);
// definition.Series[0].PlotArea.XAxis.DataLabelsColumn = "Name";
definition.Series[0].PlotArea.YAxis.AddRange(0,100,20);
definition.PlotArea.XAxis.Items.AddRange(labels.ToArray());
}