|
|
版权所有 codesky.net
//生成图表
private void buildChart()
{
string msg1="";
string strArea="";
string strbillid="";
string strAbsPath="";
string strConn="";
string sql;
string strName="";
string strValue1="";
string strValue2="";
string[] seriesNames;
DataSet dataset=new DataSet();
sql=" select top 5 IndexName as 指标名称, AddValue as 值, AddValueThan as 值同比 from TbzData order by billid desc ";
dataset=this.tbzdatactl.GetDataSet(sql);
for(int i=0;i<dataset.Tables[0].Rows.Count;i++)
{
if (i==dataset.Tables[0].Rows.Count-1)
{
strName=strName+dataset.Tables[0].Rows["指标名称"].ToString();
strValue1=strValue1+dataset.Tables[0].Rows["值"].ToString();
strValue2=strValue2+dataset.Tables[0].Rows["值同比"].ToString();
}
else
{
strName=strName+dataset.Tables[0].Rows["指标名称"].ToString()+",";
strValue1=strValue1+dataset.Tables[0].Rows["值"].ToString()+",";
strValue2=strValue2+dataset.Tables[0].Rows["值同比"].ToString()+",";
}
}
strArea=this.tbzdatactl.GetTbdataArea();
strbillid=this.tbzdatactl.GetTbdataBillid();
TbzBmpCtl tbzbmpctl=new TbzBmpCtl();
strAbsPath=tbzbmpctl.GetAbsPath();
strConn=tbzbmpctl.GetConn();
strbillid=strbillid+".gif";
OWC10.ChartSpaceClass chartsc=new OWC10.ChartSpaceClass();
OWC10.DataSourceControlClass dsc=new OWC10.DataSourceControlClass();
chartsc.Charts.Add(0);
chartsc.Charts[0].SeriesCollection.Add(0);
chartsc.HasChartSpaceLegend=false;
chartsc.HasChartSpaceTitle=false;
chartsc.Charts[0].HasLegend=true;
chartsc.Charts[0].HasTitle=true;
chartsc.Charts[0].Type=OWC10.ChartChartTypeEnum.chChartTypeLineMarkers; //折线图
chartsc.Charts[0].Title.Caption="2002年工业增加值";
seriesNames=new string[2];
seriesNames[0] = "累计";
seriesNames[1] = "同比";
chartsc.Charts[0].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames,(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,seriesNames[0]);
chartsc.SetData(OWC10.ChartDimensionsEnum.chDimCategories,(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, strName);
chartsc.Charts[0].SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimValues,(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,strValue1);
chartsc.Charts[0].SeriesCollection.Add(1);
chartsc.Charts[0].SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames,(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,seriesNames[1]);
chartsc.Charts[0].SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimCategories,(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, strName);
chartsc.Charts[0].SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimValues,(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,strValue2);
//是否显示值
chartsc.Charts[0].SeriesCollection[1].DataLabelsCollection.Add();
chartsc.Charts[0].SeriesCollection[0].DataLabelsCollection.Add();
chartsc.Charts[0].Axes[0].Font.Size=10;
//设置标题大小
chartsc.Charts[0].Title.Font.Name="宋体";
chartsc.Charts[0].Title.Font.Size=14;
chartsc.Charts[0].Title.Font.Bold=true;
//设置背线色
chartsc.Charts[0].Axes[0].HasMajorGridlines =false; //
chartsc.Charts[0].Axes[0].MajorGridlines.Line.Color="White";
chartsc.Charts[0].Axes[0].MinorGridlines.Line.Color="White";
chartsc.Charts[0].Legend.Border.Color="White";
chartsc.Charts[0].Legend.Interior.Color="gainsboro";
chartsc.Charts[0].Axes[0].HasMinorGridlines=false; //背景中的竖线有无
//删除Y轴
//chartsc.Charts[0].Axes.Delete(1);
chartsc.Charts[0].Axes[1].Font.Size=1;
chartsc.ExportPicture(strAbsPath+strbillid,"gif",483,316);
|
|