In this article I will explain with an example how to populate a chart control from sql server database using entity framework in windows application.
Database:
Here I am using Northwind database. You can download it from following link.
You can view the chart based on the combo box selection dynamically populated from database. In the combobox I loaded list countries where the orders have been shipped. The chart will present the information, x axis represents the cities of the countries having orders and y-axis represents the total amount of orders shiped throughout the each city.
public partial class Form1 : Form
{
private models db = new models();
public Form1()
{
InitializeComponent();
LoadCountries();
cboCountry.SelectedIndex =2;
Displaychart(cboCountry.Text);
}
private void LoadCountries()
{
var countries = (from c in db.Orders
select new { c.ShipCountry }).Distinct().ToList();
cboCountry.DataSource = countries;
cboCountry.ValueMember = "shipcountry";
cboCountry.DisplayMember = "shipcountry";
}
public void Displaychart(string country) {
var result = from queryResult in db.Orders.AsEnumerable()
where queryResult.ShipCountry ==country
group queryResult by queryResult.ShipCity into rowGroup
select new
{
Name =rowGroup.Key,
OrdersCount= rowGroup.Count()
};
// Set palette
this.chartControl.Palette = ChartColorPalette.EarthTones;
// Set title
this.chartControl.Titles.Clear();
this.chartControl.Titles.Add(string.Format("{0} Order Distribution", country));
this.chartControl.Series.Clear();
foreach (var i in result)
{
Series series = this.chartControl.Series.Add(i.Name);
series.Points.Add(i.OrdersCount);
}
}
private void cboCountry_SelectedIndexChanged(object sender, EventArgs e)
{
Displaychart(cboCountry.Text);
} }
Output:
Post your comments / questions
Recent Article
- Your system's memory configuration has changed since it entered hibernation.
- Save image to client browser using jQuery?
- Get filename of image jQuery?
- How to get the image src using JavaScript?
- System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Net.Http.Formatting' with identity 'System.Net.Http.Formatting, Version=4.0.0.0
- Cordova Android build error "Cannot read property 'length' of undefined". An error occurred while running subprocess cordova.
- ERROR in The Angular Compiler requires TypeScript >=3.9.2 and <4.0.0 but 3.8.3 was found instead
- Code ENOLOCAL Could not install from "android" as it does not contain a package.json file.
Related Article