We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Transform Chart --> Datagrid

Hi, 

I have a chart : 

class DataModel
{
//Creation des collections
public Dictionary<int, ObservableCollection<ChartDataPoint>> ToutePorte;
public ObservableCollection<ChartDataPoint> Porte1;
public ObservableCollection<ChartDataPoint> Porte2;
public ObservableCollection<ChartDataPoint> Porte3;

public DataModel()
{


//Remplissage des collections
Porte1 = new ObservableCollection<ChartDataPoint>();

Porte1.Add(new ChartDataPoint("Jan", 6));
Porte1.Add(new ChartDataPoint("Feb", 6));
Porte1.Add(new ChartDataPoint("Mar", 8));
Porte1.Add(new ChartDataPoint("Apr", 3));
Porte1.Add(new ChartDataPoint("May", 7));
Porte1.Add(new ChartDataPoint("Jun", 6));
Porte1.Add(new ChartDataPoint("Jul", 7));
Porte1.Add(new ChartDataPoint("Aug", 7));
Porte1.Add(new ChartDataPoint("Sep", 6));
Porte1.Add(new ChartDataPoint("Oct", 6));
Porte1.Add(new ChartDataPoint("Nov", 6));
Porte1.Add(new ChartDataPoint("Dec", 6));

Porte2 = new ObservableCollection<ChartDataPoint>();

Porte2.Add(new ChartDataPoint("Jan", 4));
Porte2.Add(new ChartDataPoint("Feb", 2));
Porte2.Add(new ChartDataPoint("Mar", 6));
Porte2.Add(new ChartDataPoint("Apr", 8));
Porte2.Add(new ChartDataPoint("May", 4));
Porte2.Add(new ChartDataPoint("Jun", 3));
Porte2.Add(new ChartDataPoint("Jul", 2));
Porte2.Add(new ChartDataPoint("Aug", 4));
Porte2.Add(new ChartDataPoint("Sep", 5));
Porte2.Add(new ChartDataPoint("Oct", 4));
Porte2.Add(new ChartDataPoint("Nov", 7));
Porte2.Add(new ChartDataPoint("Dec", 3));

Porte3 = new ObservableCollection<ChartDataPoint>();

Porte3.Add(new ChartDataPoint("Jan", 3));
Porte3.Add(new ChartDataPoint("Feb", 2));
Porte3.Add(new ChartDataPoint("Mar", 3));
Porte3.Add(new ChartDataPoint("Apr", 8));
Porte3.Add(new ChartDataPoint("May", 4));
Porte3.Add(new ChartDataPoint("Jun", 3));
Porte3.Add(new ChartDataPoint("Jul", 4));
Porte3.Add(new ChartDataPoint("Aug", 4));
Porte3.Add(new ChartDataPoint("Sep", 3));
Porte3.Add(new ChartDataPoint("Oct", 3));
Porte3.Add(new ChartDataPoint("Nov", 2));
Porte3.Add(new ChartDataPoint("Dec", 2));

ToutePorte = new Dictionary<int, ObservableCollection<ChartDataPoint>>();

ToutePorte.Add(1, Porte1);
ToutePorte.Add(2, Porte2);
ToutePorte.Add(3, Porte3);

}
}

public void myChart()
{
Grid grid = new Grid
{
VerticalOptions = LayoutOptions.FillAndExpand,
RowDefinitions =
{
new RowDefinition { Height = (new GridLength (1, GridUnitType.Star ))},
new RowDefinition { Height = (GridLength.Auto)},
},
};
chart.Title = new ChartTitle() { Text = "Statistique" };

//Initializing Primary Axis
CategoryAxis primaryAxis = new CategoryAxis();
primaryAxis.Title = new ChartAxisTitle() { Text = "Mois" };
primaryAxis.LabelPlacement = LabelPlacement.OnTicks;

chart.PrimaryAxis = primaryAxis;

//Initializing Secondary Axis
NumericalAxis secondaryAxis = new NumericalAxis();
secondaryAxis.Title = new ChartAxisTitle() { Text = "Nombres de personnes" };
secondaryAxis.Interval = 1;
secondaryAxis.ShowMajorGridLines = true;
secondaryAxis.ShowMinorGridLines = true;

chart.SecondaryAxis = secondaryAxis;

DataModel dataModel = new DataModel();


//Ajoutes les valeurs au graphique
chart.Series.Add(new StackingAreaSeries()
{
//ItemsSource = dataModel.Porte1,
ItemsSource = dataModel.ToutePorte[1],
Label = "Porte 1",
});

chart.Series.Add(new StackingAreaSeries()
{
ItemsSource = dataModel.ToutePorte[2],
Label = "Porte 2",
});

chart.Series.Add(new StackingAreaSeries()
{
ItemsSource = dataModel.ToutePorte[3],
Label = "Porte 3",
});


//Adding Chart Legend for the Chart
chart.Legend = new ChartLegend() { IsVisible = true };
chart.Opacity = 1;
chart.IsVisible = true;

//Creation bouton
Button monBoutton = new Button();
monBoutton.Text = "Afficher la grille";
monBoutton.FontSize = 24;
monBoutton.Clicked += MonBoutton_Clicked;

//Ajout des contrôles dans la grid
grid.Children.Add(chart, 0, 0);
grid.Children.Add(monBoutton, 0, 1);

this.Content = grid;
}

It's working well, but now how construct DagaGrid like this : 

|primaryAxis.Name\SecondaryAxis.Name|       Chart.Series1     |         Chart.Series2    |      Chart.Series3     |
|          Jan                                                 |Chart.Series1.YValue|Chart.Series2.Yvalues|Chart.Series3.YValue|
|          Feb                                                |Chart.Serie1.Yvalues|Chart.Series2.YValue |ChartSeries3.YValues|
.... 

Do you understand ? 

Thank's :) 

1 Reply

SR Sivakumar R Syncfusion Team December 7, 2015 09:42 AM UTC

Hi Jordan,

Refer the below documentation link on creating SfDataGrid in xamarin.forms.
http://help.syncfusion.com/xamarin/sfdatagrid/getting-started

Thanks,
Sivakumar

Loader.
Up arrow icon