This quick start guides you through the steps of adding the FlexPie control in your Blazor application, adding data to it and displaying the data in the control. In this example, we create a data source for FlexPie by creating list of sales data of automobile companies and bind the list to the FlexPie control to display the data.
Example Title |
Copy Code
|
---|---|
<link rel="stylesheet" href="/_content/C1.Blazor.Core/styles.css" /> <link rel="stylesheet" href="/_content/C1.Blazor.Chart/styles.css" /> |
HTML |
Copy Code
|
---|---|
<script src="/_content/C1.Blazor.Core/scripts.js"></script> <script src="/_content/C1.Blazor.Chart/scripts.js"></script> |
In the code, add a DataSource class to create a list of data for the FlexPie control.
Razor |
Copy Code
|
---|---|
@code { IEnumerable<Palette> palettes = Enum.GetValues(typeof(Palette)).Cast<Palette>().Where((p, x) => p != Palette.Custom); Palette? palette = Palette.Standard; double[] innerRadiuses = new double[] { 0, 0.25, 0.5, 0.75 }; double? innerRadius = 0; double[] offsets = new double[] { 0, 0.25, 0.5, 0.75 }; double? offset = 0; public class DataSource { public class SalesData { public string Name { get; set; } public double Value { get; set; } } public static List<SalesData> GetData() { var data = new List<SalesData>() { new SalesData{Name="Maruti", Value=1643467}, new SalesData{Name="Hyundai", Value=536241}, new SalesData{Name="Mahindra", Value=248859}, new SalesData{Name="Tata", Value=210200}, new SalesData{Name="Honda", Value=170026}, new SalesData{Name="Toyota", Value=140645}, new SalesData{Name="Renault", Value=102222}, new SalesData{Name="Ford", Value=90061}, }; return data; } } |
To bind FlexPie to data, set the ItemsSource property of FlexPie class which accepts the collection of items for the FlexPie control. You need to Set Binding property to specify a name of numeric property used to calculate the size of slice and set BindingName property to specify a name of property that would be used as the slice name and displayed in chart. legend.
Razor |
Copy Code
|
---|---|
@using Localization @using C1.Chart; @using C1.Blazor.Chart; @using C1.Blazor.Input; <FlexPie Class="chart" Palette="palette ?? Palette.Standard" InnerRadius="innerRadius ?? 0" Offset="offset ?? 0" HeaderContent="Market Share of Automobile Companies" HeaderStyle="font-size:24px" LegendPosition="Position.Bottom" BindingName="Name" Binding="Value" ItemsSource="@DataSource.GetData()"> <Label> <PieDataLabel Position="PieLabelPosition.Inside" Content="{p:n1}%" Style="font-size:12px" /> </Label> </FlexPie> |