using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Xml.Linq;
using System.Text;
using System.Windows.Forms;
namespace LearnFusionChart
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void CreateXML(DataGridView dgv)
{
XDocument xDoc = XDocument.Load(Application.StartupPath + "\\" + "FusionChartFiles" + "\\" + "Line2D.xml");
XElement root = xDoc.Root;
root.Elements().Remove();
DataTable dt = dgv.DataSource as DataTable;
root.Attribute("caption").Value = "Aylık Satışlarım";
root.Attribute("subcaption").Value = "2009 Yılı için";
root.Attribute("xAxisName").Value = "Aylar";
root.Attribute("yAxisName").Value = "Satislar";
root.Attribute("numberPrefix").Value = "TL";
root.Attribute("yAxisMinValue").Value = dt.Compute("MIN(Satışlar)", null).ToString();
foreach (DataRow dr in dt.Rows)
{
XElement element = new XElement("set",
new XAttribute("name", dr["Aylar"].ToString().Substring(0, 3)),
new XAttribute("value", dr["Satışlar"].ToString()),
new XAttribute("hoverText", dr["Aylar"].ToString()));
root.Add(element);
}
xDoc.Save(Application.StartupPath + "\\" + "FusionChartFiles" + "\\" + "Line2D.xml");
xDoc = null;
}
private void btnDataTableOlustur_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(
new DataColumn[]
{
new DataColumn("Aylar"),
new DataColumn("Satışlar")
});
Random rnd = new Random();
DataRow dr = null;
for (int i = 1; i <= 12; i++)
{
dr = dt.NewRow();
dr["Aylar"] = DateTime.Parse("01." + i.ToString() + ".2009").AddMonths(0).ToString("MMMM");
dr["Satışlar"] = rnd.Next(0, 100).ToString();
dt.Rows.Add(dr);
}
this.dataGridView1.DataSource = dt;
}
private void btnGrafik_Click(object sender, EventArgs e)
{
this.CreateXML(this.dataGridView1);
this.webBrowser1.Navigate(
Application.StartupPath + "\\" + "FusionChartFiles" + "\\" + "Line2D.html");
}
}
}