Exemple #1
0
    private string DrawChart(DataTable dtTemp)
    {
        int zz = dtTemp.Rows.Count - 1;

        if (zz > 0)
        {
            string[] AllWeek          = new string[zz];
            string[] AllAttendanceNum = new string[zz];
            for (int i = 0; i < dtTemp.Rows.Count - 1; i++)
            {
                zz--;
                AllWeek[i]          = dtTemp.Rows[zz]["周次"].ToString();
                AllAttendanceNum[i] = dtTemp.Rows[zz]["合计"].ToString();
            }

            string strXdata = string.Empty;
            foreach (string strData in AllWeek)
            {
                strXdata += strData + "\t";
            }

            string strYdata = string.Empty;
            foreach (string strValue in AllAttendanceNum)
            {
                strYdata += strValue + "\t";
            }

            ChartSpace laySpace    = new ChartSpaceClass();
            ChChart    InsertChart = laySpace.Charts.Add(0);

            InsertChart.Type      = ChartChartTypeEnum.chChartTypeLineStacked;
            InsertChart.HasLegend = false;

            InsertChart.HasTitle              = true;
            InsertChart.Title.Caption         = dtTemp.Rows[0]["系部"] + "学生" + AllWeek[0] + "-" + AllWeek[AllWeek.Length - 1] + "周缺勤情况走势图";
            InsertChart.Axes[0].HasTitle      = true;
            InsertChart.Axes[0].Title.Caption = "周次";
            InsertChart.Axes[1].HasTitle      = true;
            InsertChart.Axes[1].Title.Caption = "缺勤人数";

            InsertChart.SeriesCollection.Add(0);

            InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNames, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "图例1");
            InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
            InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strYdata);

            string strAbsolutePath = (Server.MapPath(".")) + "\\ShowData.gif";
            laySpace.ExportPicture(strAbsolutePath, "GIF", 1450, 250);

            string strRelativePath = "./ShowData.gif";
            Random rd          = new Random();
            string strImageTag = "<IMG SRC='" + strRelativePath + "?id=" + rd.Next(65500) + "'/>";

            return(strImageTag);
        }
        else
        {
            return("");
        }
    }
Exemple #2
0
  }//Page_Load()

  ///<summary>ChartPie</summary>
  public void ChartPie()
  {
   string      exceptionMessage  =  null;

   ChartSpace  chartSpace        =  null;
   ChChart     chChart           =  null;
   
   try
   {
    
    //First create a ChartSpace object to hold the chart
    chartSpace = new ChartSpaceClass();
   
    //Add a chart and provide a type
    chChart = chartSpace.Charts.Add(0);
    chChart.Type = ChartChartTypeEnum.chChartTypePie3D;

    //add chart titles and legend
    chChart.HasTitle                 =  true;
    chChart.Title.Caption            =  "Office Web Components (OWC) Pie";
    chChart.HasLegend                =  true;
    chChart.Legend.Border.DashStyle  =  OWCTypeLib.ChartLineDashStyleEnum.chLineDash;
    chChart.Legend.Position          =  OWCTypeLib.ChartLegendPositionEnum.chLegendPositionRight;
   
    //Add a series to the chart's series collection
    chChart.SeriesCollection.Add(0);
   
    //load the GraphCategory and GraphValue data
    chChart.SeriesCollection[0].SetData 
    (
     ChartDimensionsEnum.chDimCategories,
     ( int ) ChartSpecialDataSourcesEnum.chDataLiteral, 
     string.Join( ",", GraphCategory )
    );
   
    chChart.SeriesCollection[0].SetData 
    (
     ChartDimensionsEnum.chDimValues,
     ( int ) ChartSpecialDataSourcesEnum.chDataLiteral,
     string.Join( ",", Array.ConvertAll<double, string>( GraphValue, ConvertDoubleString ) )
    );

    //chartSpace.ExportPicture( FilenameImage, "gif", 500, 400 );
    
    //show the chart on the client
    Response.ContentType= "image/gif";
    Response.BinaryWrite( ( byte[] ) chartSpace.GetPicture( "gif", 500, 400 ) ); 
    Response.End();
  
   }
   catch ( Exception exception )
   {
   	exceptionMessage = exception.Message;
   }
   if ( exceptionMessage != null )
   {
   	Response.Write( exceptionMessage );
   }
  }//ChartPie()
Exemple #3
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        string        strSeriesName = "图例1";
        string        ConnectString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        string        Sql           = "SELECT Name,sum(AddMoney) AS Total FROM F_Money  where AddUserId='" + Session["UserId"].ToString() + "' and AddTime>='" + df.Text + "' and AddTime<='" + dt.Text + "'  GROUP BY Name";
        SqlConnection myConn        = new SqlConnection(ConnectString);

        myConn.Open();
        SqlDataAdapter Da = new SqlDataAdapter(Sql, myConn);
        DataSet        ds = new DataSet();

        Da.Fill(ds);
        string[] ProjectType  = new string[14];
        string[] ProjectTotal = new string[14];
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {
            ProjectType[i]  = ds.Tables[0].Rows[i][0].ToString();
            ProjectTotal[i] = ds.Tables[0].Rows[i][1].ToString();
        }
        string strXdata = String.Empty;

        foreach (string strData in ProjectType)
        {
            strXdata += strData + "\t";
        }
        string strYdata = String.Empty;

        foreach (string strValue in ProjectTotal)
        {
            strYdata += strValue + "\t";
        }
        ChartSpace laySpace    = new ChartSpaceClass();
        ChChart    InsertChart = laySpace.Charts.Add(0);

        InsertChart.Type                  = ChartChartTypeEnum.chChartTypeColumnClustered;
        InsertChart.HasLegend             = false;
        InsertChart.HasTitle              = true;
        InsertChart.Title.Caption         = "收支信息统计图";
        InsertChart.Axes[0].HasTitle      = true;
        InsertChart.Axes[0].Title.Caption = "";
        InsertChart.Axes[1].HasTitle      = true;

        InsertChart.Axes[1].Scaling.SplitMinimum = 0;
        InsertChart.Axes[1].Title.Caption        = "收支金额";
        InsertChart.SeriesCollection.Add(0);
        InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNames,
                                                +(int)ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName);
        InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories,
                                                +(int)ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
        InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,
                                                (int)ChartSpecialDataSourcesEnum.chDataLiteral, strYdata);
        string strAbsolutePath = (Server.MapPath(".")) + "\\ShowData.gif";

        laySpace.ExportPicture(strAbsolutePath, "GIF", 600, 400);
        string strRelativePath = (Server.MapPath(".")) + "\\ShowData.gif";
        string strImageTag     = "<IMG SRC='" + strRelativePath + "?kkd=" + Guid.NewGuid().ToString() + "&dd=" + DateTime.Now.ToString() + "'/>";

        //this.PlaceHolder1.Controls.Add(new LiteralControl(strImageTag));
    }
Exemple #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            string str = "1999-01-01";
            string str2 = str;
            string str3 = "";
            OleDbBase.DB db = new OleDbBase.DB();
            OleDbDataReader reader = db.Read("select PutDateTime,TW from TW where PutDateTime>= #" + this.dtp1.Value.ToShortDateString() + " 00:00:00# and PutDateTime<= #" + this.dtp2.Value.ToShortDateString() + " 23:59:59# and UserName='******' order by PutDateTime");
            while (reader.Read())
            {
                str2 = DateTime.Parse(reader[0].ToString()).ToString("yyyy-MM-dd");
                if (str != str2)
                {
                    str3 = str3 + ",";
                    str = str2;
                }
                str3 = str3 + reader[1].ToString() + "\t";
            }
            reader.Close();
            ChartSpace space = new ChartSpaceClass();

            ChChart chart = space.Charts.Add(0);
            string str6 = "6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24";
            str6 = str6.Replace(" ", "时\t");
            string[] strArray = str3.Split(',');

            switch (cboStyle.Text)
            {
                case "chChartTypeSmoothLine":
                    chart.Type = ChartChartTypeEnum.chChartTypeSmoothLine;
                    break;
                case "chChartTypeColumnClustered3D":
                    chart.Type = ChartChartTypeEnum.chChartTypeColumnClustered3D;
                    break;

                default:
                    chart.Type = ChartChartTypeEnum.chChartTypeLine;
                    break;
            }
            //chart.Type = ChartChartTypeEnum.chChartTypeSmoothLine;
            chart.HasTitle = true;
            chart.Title.Caption = "体温变化曲线";

            //给定x,y轴图示说明
            chart.Axes[0].HasTitle = true;
            chart.Axes[0].Title.Caption = "测试时间";

            chart.Axes[1].HasTitle = true;
            chart.Axes[1].Title.Caption = "体温";

            chart.SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, str6);
            for (int i = 1; i < strArray.Length; i++)
            {
                chart.SeriesCollection.Add(i).SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strArray[i]);
            }
            space.ExportPicture("OK.gif", "gif", 760, 500);
            this.pictureBox1.ImageLocation = "OK.gif";
        }
Exemple #5
0
        private void button1_Click(object sender, EventArgs e)
        {
            string str  = "1999-01-01";
            string str2 = str;
            string str3 = "";

            OleDbBase.DB    db     = new OleDbBase.DB();
            OleDbDataReader reader = db.Read("select PutDateTime,TW from TW where PutDateTime>= #" + this.dtp1.Value.ToShortDateString() + " 00:00:00# and PutDateTime<= #" + this.dtp2.Value.ToShortDateString() + " 23:59:59# and UserName='******' order by PutDateTime");

            while (reader.Read())
            {
                str2 = DateTime.Parse(reader[0].ToString()).ToString("yyyy-MM-dd");
                if (str != str2)
                {
                    str3 = str3 + ",";
                    str  = str2;
                }
                str3 = str3 + reader[1].ToString() + "\t";
            }
            reader.Close();
            ChartSpace space = new ChartSpaceClass();

            ChChart chart = space.Charts.Add(0);
            string  str6  = "6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24";

            str6 = str6.Replace(" ", "时\t");
            string[] strArray = str3.Split(',');

            switch (cboStyle.Text)
            {
            case "chChartTypeSmoothLine":
                chart.Type = ChartChartTypeEnum.chChartTypeSmoothLine;
                break;

            case "chChartTypeColumnClustered3D":
                chart.Type = ChartChartTypeEnum.chChartTypeColumnClustered3D;
                break;

            default:
                chart.Type = ChartChartTypeEnum.chChartTypeLine;
                break;
            }
            //chart.Type = ChartChartTypeEnum.chChartTypeSmoothLine;
            chart.HasTitle      = true;
            chart.Title.Caption = "体温变化曲线";

            //给定x,y轴图示说明
            chart.Axes[0].HasTitle      = true;
            chart.Axes[0].Title.Caption = "测试时间";

            chart.Axes[1].HasTitle      = true;
            chart.Axes[1].Title.Caption = "体温";

            chart.SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, str6);
            for (int i = 1; i < strArray.Length; i++)
            {
                chart.SeriesCollection.Add(i).SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strArray[i]);
            }
            space.ExportPicture("OK.gif", "gif", 760, 500);
            this.pictureBox1.ImageLocation = "OK.gif";
        }