flash 图形报
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
折线、柱状图、饼状图
flash 图形报表 折线、柱状图、饼状
图
asp.net flash 图形报表(折线、柱状图、饼状图)
2011年04月25日
效果图:(使用须注意:项目名称不能为中文,否则没有效果)
以上三个图用的是同一个数据库表:
表结构如下:
id int
sj varchar(50)
shouru varchar(50)
lirun varchar(50)
1、折线图代码:
前台:
<%@ Register Assembly="am.Charts" Namespace="am.Charts"
TagPrefix="cc1" %>//注册
后台:
//Line.XML文件放在App_Data下
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sql = "select * from amLine";
SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrin
gs["connString"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql,conn);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
string path = Server.MapPath("~/App_Data")+"\line.xml";
XmlDocument xdoc = new XmlDocument();
xdoc.Load(path);
XmlNode xn = xdoc.ChildNodes[1];
xn.ChildNodes[0].RemoveAll();
xn.ChildNodes[1].RemoveAll();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
XmlElement Xxe = xdoc.CreateElement("Times");
XmlAttribute Xxa = xdoc.CreateAttribute("Year");
Xxa.Value = ds.Tables[0].Rows[i]["sj"].ToString();
Xxe.Attributes.Append(Xxa);
xn.ChildNodes[0].AppendChild(Xxe);
XmlElement Yxe = xdoc.CreateElement("Shouru");
XmlAttribute Yxa1 = xdoc.CreateAttribute("Year");
XmlAttribute Yxa2 = xdoc.CreateAttribute("Shou");
XmlAttribute Yxa3 = xdoc.CreateAttribute("LiRun");
Yxa1.Value = ds.Tables[0].Rows[i]["sj"].ToString();
Yxa2.Value = ds.Tables[0].Rows[i]["shouru"].ToString();
Yxa3.Value = ds.Tables[0].Rows[i]["lirun"].ToString();
Yxe.Attributes.Append(Yxa1);
Yxe.Attributes.Append(Yxa2);
Yxe.Attributes.Append(Yxa3);
xn.ChildNodes[1].AppendChild(Yxe);
}
xdoc.Save(path);
GetData();
}
}
private void GetData()
{
XmlDataSource xds1 = new XmlDataSource();
xds1.ID = "data1";
xds1.DataFile = "~/App_Data/line.xml";
xds1.XPath = "/LineData/XData/Times";
Page.Controls.Add(xds1);
XmlDataSource xds2 = new XmlDataSource();
xds2.ID = "data2";
xds2.DataFile = "~/App_Data/line.xml";
xds2.XPath = "/LineData/YData/Shouru";
Page.Controls.Add(xds2);
this.LineChart1.Controls.Add(this.LineChartGraph1) ;
this.LineChart1.Controls.Add(this.LineChartGraph2) ;
this.LineChart1.DataSourceID = "data1";
this.LineChart1.DataSeriesIDField = "Year";
this.LineChart1.DataBind();
this.LineChartGraph1.DataSourceID = "data2";
this.LineChartGraph1.DataSeriesItemIDField = "Year";
this.LineChartGraph1.DataValueField = "Shou";
this.LineChartGraph1.DataBind();
this.LineChartGraph2.DataSourceID = "data2";
this.LineChartGraph2.DataSeriesItemIDField = "Year";
this.LineChartGraph2.DataValueField = "LiRun";
this.LineChartGraph2.DataBind();
}
2、柱状图:
柱状图是直接取的line.XML中的值(取了其中的2个值),当让也可
以操作数据库查询数据,此处为了方便
前台:
<%@ Register Assembly="am.Charts" Namespace="am.Charts" TagPrefix="cc1" %>//注册
后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
XmlDataSource xds1 = new XmlDataSource();
xds1.ID = "data1";
xds1.DataFile = "~/App_Data/line.xml";
xds1.XPath = "/LineData/XData/Times";
Page.Controls.Add(xds1);
XmlDataSource xds2 = new XmlDataSource();
xds2.ID = "data2";
xds2.DataFile = "~/App_Data/line.xml";
xds2.XPath = "/LineData/YData/Shouru";
Page.Controls.Add(xds2);
this.ColumnChart1.Controls.Add(this.ColumnChartGra ph1);
this.ColumnChart1.Controls.Add(this.ColumnChartGra ph2);
this.ColumnChart1.DataSourceID = "data1";
this.ColumnChart1.DataSeriesIDField = "Year";
this.ColumnChart1.DataBind();
this.ColumnChartGraph1.DataSourceID = "data2";
this.ColumnChartGraph2.DataSourceID = "data2";
this.ColumnChartGraph1.Title = "收入";
this.ColumnChartGraph1.DataSeriesItemIDField = "Year";
this.ColumnChartGraph1.DataValueField = "Shou";
this.ColumnChartGraph1.DataBind();
this.ColumnChartGraph2.Title = "利润";
this.ColumnChartGraph2.DataSeriesItemIDField = "Year";
this.ColumnChartGraph2.DataValueField = "LiRun";
this.ColumnChartGraph2.DataBind();
}
}
3、饼状图
pie.XML也放在App_Data下
前台:
<%@ Register Assembly="am.Charts" Namespace="am.Charts" TagPrefix="cc1" %>//注册
后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sql = "select * from amLine";
SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrin
gs["connString"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
string zonghe = "select sum(convert(int,shouru)) as zonghe
from amLine";
SqlCommand cmds = new SqlCommand(zonghe, conn);
DataSet dss = new DataSet();
SqlDataAdapter das = new SqlDataAdapter(cmds);
das.Fill(dss);
int zong = Convert.ToInt32(dss.Tables[0].Rows[0][0]);
string path = Server.MapPath("~/App_Data") + "\pie.xml";
XmlDocument xdoc = new XmlDocument();
xdoc.Load(path);
XmlNode xn = xdoc.ChildNodes[1];
xn.RemoveAll();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
XmlElement Xxe = xdoc.CreateElement("Name");
XmlAttribute Xxa = xdoc.CreateAttribute("Percent");
XmlAttribute Xxb = xdoc.CreateAttribute("Year");
Xxb.Value = ds.Tables[0].Rows[i]["sj"].ToString();
Xxa.Value =
Convert.ToDouble(Convert.ToDouble(ds.Tables[0].Row s[i]["shouru"]) /
zong).ToString();
Xxe.Attributes.Append(Xxa);
Xxe.Attributes.Append(Xxb);
xdoc.ChildNodes[1].AppendChild(Xxe);
}
xdoc.Save(path);
GetData();
}
}
private void GetData()
{
XmlDataSource xds1 = new XmlDataSource();
xds1.ID = "data1";
xds1.DataFile = "~/App_Data/pie.xml";
xds1.XPath = "/Data/Name";
Page.Controls.Add(xds1);
this.PieChart1.DataSourceID = "data1";
this.PieChart1.DataTitleField = "Year";
this.PieChart1.DataValueField = "Percent";
this.PieChart1.DataBind();
}
邮箱:hdlbsh@126.com