⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.aspx.cs

📁 这是asp.net^和Visual C++Sharp编写的串并口通讯的书籍 源代码
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Imaging;
using System.Data.SqlClient;
using System.Collections;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
    SqlConnection Con;
    SqlCommand Com;
    SqlDataAdapter Da;
    DataSet ds;
    string strconn = "Server=(local);Database=db_05;Uid=sa;Pwd=";
    protected void Page_Load(object sender, EventArgs e)
    {
        DrawCircle();
        if (!IsPostBack)
        {
            bindGName();
            Session["Histogram"] = DropDownList1.SelectedValue;
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Session["Histogram"] = DropDownList1.SelectedValue;
    }
    //绑定订单号
    private void bindGName()
    {
        Con = new SqlConnection(strconn);
        Da = new SqlDataAdapter("select distinct 订单号 from 商品销售表", strconn);
        ds = new DataSet();
        Da.Fill(ds);
        DropDownList1.DataSource = ds;
        DropDownList1.DataTextField = "订单号";
        DropDownList1.DataBind();
    }
    //绘制饼形图
    private void  DrawCircle()
    {
        if (!File.Exists(Server.MapPath("饼形图.gif")))
        {
            Con = new SqlConnection(strconn);
            Con.Open();
            string cmdtxt = "select *  from 商品销售表";
            Com = new SqlCommand(cmdtxt, Con);
            ds = new DataSet();
            Da = new SqlDataAdapter(Com);
            Da.Fill(ds);
            Con.Close();
            float Total = 0.0f, Tmp;
            int iloop;
            for (iloop = 0; iloop < ds.Tables[0].Rows.Count; iloop++)
            {
                //转换成单精度。也可写成Convert.ToInt32
                Tmp = Convert.ToSingle(ds.Tables[0].Rows[iloop]["订货数量"]);
                Total += Tmp;
            }

            //设置字体,fonttitle为主标题的字体
            Font fontlegend = new Font("verdana", 9), fonttitle = new Font("verdana", 10, FontStyle.Bold);

            //背景宽
            int width = 230;
            int bufferspace = 15;
            int legendheight = fontlegend.Height * (ds.Tables[0].Rows.Count + 1) + bufferspace;
            int titleheight = fonttitle.Height + bufferspace;
            int height = width + legendheight + titleheight + bufferspace;//白色背景高
            int pieheight = width;
            Rectangle pierect = new Rectangle(0, titleheight, width, pieheight);

            //加上各种随机色
            ArrayList colors = new ArrayList();
            Random rnd = new Random();
            for (iloop = 0; iloop < ds.Tables[0].Rows.Count; iloop++)
                colors.Add(new SolidBrush(Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255))));

            //创建一个bitmap实例
            Bitmap objbitmap = new Bitmap(width, height);
            Graphics objgraphics = Graphics.FromImage(objbitmap);

            //画一个白色背景
            objgraphics.FillRectangle(new SolidBrush(Color.White), 0, 0, width, height);

            //画一个亮黄色背景      
            objgraphics.FillRectangle(new SolidBrush(Color.LightYellow), pierect);

            //以下为画饼图(有几行row画几个)
            float currentdegree = 0.0f;

            RectangleHotSpot RHSpot = new RectangleHotSpot();
            for (iloop = 0; iloop < ds.Tables[0].Rows.Count; iloop++)
            {
                objgraphics.FillPie((SolidBrush)colors[iloop], pierect, currentdegree,
                  Convert.ToSingle(ds.Tables[0].Rows[iloop]["订货数量"]) / Total * 360);
                currentdegree += Convert.ToSingle(ds.Tables[0].Rows[iloop]["订货数量"]) / Total * 360;
            }
            //以下为生成主标题
            SolidBrush blackbrush = new SolidBrush(Color.Black);
            string title = "产品市场占有率调查";
            StringFormat stringFormat = new StringFormat();
            stringFormat.Alignment = StringAlignment.Center;
            stringFormat.LineAlignment = StringAlignment.Center;

            objgraphics.DrawString(title, fonttitle, blackbrush,
                new Rectangle(0, 0, width, titleheight), stringFormat);
            //列出各字段与得数目
            objgraphics.DrawRectangle(new Pen(Color.Black, 2), 0, height - legendheight, width, legendheight);
            for (iloop = 0; iloop < ds.Tables[0].Rows.Count; iloop++)
            {
                objgraphics.FillRectangle((SolidBrush)colors[iloop], 5, height - legendheight + fontlegend.Height * iloop + 5, 10, 10);
                objgraphics.DrawString(((String)ds.Tables[0].Rows[iloop]["商品名"]) + " —— " + Convert.ToString(Convert.ToSingle(ds.Tables[0].Rows[iloop]["订货数量"]) * 100 / Total).Substring(0, 5) + "%", fontlegend, blackbrush,
             20, height - legendheight + fontlegend.Height * iloop + 1);
            }
            //图像总的高度-一行字体的高度,即是最底行的一行字体高度(height - fontlegend.Height )
            objgraphics.DrawString("商品总数是:" + Convert.ToString(Total), fontlegend, blackbrush, 5, height - fontlegend.Height);
            objbitmap.Save(Server.MapPath("饼形图.gif"));
            objgraphics.Dispose();
            objbitmap.Dispose();
        }
        Image1.ImageUrl = "~/饼形图.gif";
    }    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -