This is a migrated thread and some comments may be shown as answers.

No data series - many chart areas

1 Answer 89 Views
Chart
This is a migrated thread and some comments may be shown as answers.
Natália
Top achievements
Rank 1
Natália asked on 26 Aug 2010, 06:13 PM
Hello,

I'm following the example of the link
http://www.telerik.com/help/silverlight/radchart-populating-with-data-data-binding-to-many-chart-areas.html

But I can not enter values in the chart.
I get the message "No data series".

Thanks
...

//Creating new instance of RadChart control
            //Telerik.Windows.Controls.RadChart radChart = new Telerik.Windows.Controls.RadChart();
            chart.UseDefaultLayout = false;
  
            //Creating Grid with two rows and two columns to host two ChartTitles and two ChartAreas
            Grid chartLayout = new Grid();
            chartLayout.Margin = new Thickness(10, 10, 0, 20);
            chartLayout.RowDefinitions.Add(new RowDefinition());
            chartLayout.RowDefinitions[0].Height = new GridLength(0, GridUnitType.Auto);
            chartLayout.RowDefinitions.Add(new RowDefinition());
            chart.Content = chartLayout;
            chartLayout.ColumnDefinitions.Add(new ColumnDefinition());
            chartLayout.ColumnDefinitions.Add(new ColumnDefinition());
  
            //Creating ChartTitle for the left chart
            Telerik.Windows.Controls.Charting.ChartTitle chartTitle = new Telerik.Windows.Controls.Charting.ChartTitle();
            chartTitle.Margin = new Thickness(0, 0, 0, 10);
            chartTitle.HorizontalAlignment = HorizontalAlignment.Center;
            chartTitle.Content = "Year 2008";
            chartLayout.Children.Add(chartTitle);
  
            //Creating ChartArea of for the left chart
            Telerik.Windows.Controls.Charting.ChartArea chartArea1 = new Telerik.Windows.Controls.Charting.ChartArea();
            chartArea1.Name = "webBrowsersShare2008Chart";
            chartLayout.Children.Add(chartArea1);
            Grid.SetRow(chartArea1, 1);
  
            //Creating ChartTitle for the right chart
            chartTitle = new Telerik.Windows.Controls.Charting.ChartTitle();
            chartTitle.Margin = new Thickness(0, 0, 0, 10);
            chartTitle.HorizontalAlignment = HorizontalAlignment.Center;
            chartTitle.Content = "Year 2009";
            chartLayout.Children.Add(chartTitle);
            Grid.SetColumn(chartTitle, 1);
  
            //Creating ChartArea of for the right chart
            Telerik.Windows.Controls.Charting.ChartArea chartArea2 = new Telerik.Windows.Controls.Charting.ChartArea();
            chartArea2 = new Telerik.Windows.Controls.Charting.ChartArea();
            chartArea2.Name = "webBrowsersShare2009Chart";
            chartLayout.Children.Add(chartArea2);
            Grid.SetRow(chartArea2, 1);
            Grid.SetColumn(chartArea2, 1);
  
            //Creating series mapping for the first chart and link it to the left ChartArea
            SeriesMapping serie = new SeriesMapping();
            serie.CollectionIndex = 0;
            serie.ChartAreaName = "webBrowsersShare2008Chart";
            serie.SeriesDefinition = new PieSeriesDefinition();
            serie.SeriesDefinition.ShowItemLabels = true;
            serie.SeriesDefinition.ShowItemToolTips = true;
            serie.SeriesDefinition.LegendItemLabelFormat = "#ClasseP";
            serie.SeriesDefinition.ItemLabelFormat = "#Valor%";
            serie.SeriesDefinition.ItemToolTipFormat = "#ClasseP: #Valor";
            serie.ItemMappings.Add(new ItemMapping("ClasseP", DataPointMember.XCategory));
            serie.ItemMappings.Add(new ItemMapping("Valor", DataPointMember.YValue));
            chart.SeriesMappings.Add(serie);
              
            //Creating series mapping for the first chart and link it to the right ChartArea
            SeriesMapping serie1 = new SeriesMapping();
            serie1.CollectionIndex = 1;
            serie1.ChartAreaName = "webBrowsersShare2009Chart";
            serie1.SeriesDefinition = new PieSeriesDefinition();
            serie1.SeriesDefinition.ShowItemLabels = true;
            serie1.SeriesDefinition.ShowItemToolTips = true;
            serie1.SeriesDefinition.LegendItemLabelFormat = "#ClasseP";
            serie1.SeriesDefinition.ItemLabelFormat = "#Valor%";
            serie1.SeriesDefinition.ItemToolTipFormat = "#ClasseP: #Valor";
            serie1.ItemMappings.Add(new ItemMapping("ClasseP", DataPointMember.XCategory));
            serie1.ItemMappings.Add(new ItemMapping("Valor", DataPointMember.YValue));
            chart.SeriesMappings.Add(serie1);
  
// Adicionando cores a PaletteBrushs
            chart.PaletteBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 32, 83, 137)));
            chart.PaletteBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 93, 182, 68)));
            chart.PaletteBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 255, 171, 38)));
            chart.PaletteBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 236, 238, 134)));
            chart.PaletteBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 178, 244, 144)));
  
            chart.ItemsSource = new List<Classes>()
            {
                new Classes("A", 65),
                new Classes("B", 16),
                new Classes("C", 13),
                new Classes("D", 5),
                new Classes("N/A", 1),
            };

1 Answer, 1 is accepted

Sort by
0
Natália
Top achievements
Rank 1
answered on 27 Aug 2010, 03:26 PM
Hello,

Do not worry, the data was not loaded because the property
serie.CollectionIndex = 0;
I removed that line of code and it worked normally

Thanks...
Tags
Chart
Asked by
Natália
Top achievements
Rank 1
Answers by
Natália
Top achievements
Rank 1
Share this question
or