程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第八講 ASP.NET圖形開發帶超鏈接的餅圖(10)

C#發現之旅第八講 ASP.NET圖形開發帶超鏈接的餅圖(10)

編輯:關於C語言

在這裡使用了位圖對象的Save函數來輸出圖片文檔的二進制數據。這裡沒有直接輸 出到頁面的輸出流中,因為那樣做是會報錯的,這裡創建了一個臨時的內存流對象,將圖片 數據輸出到這個內存流中,然後將這個內存流中的數據輸出到頁面輸出流中。

二級主 頁面 pIE_orders.ASPx

在主頁面pie_custoemrs.aspx中新增餅圖元素時還設置了餅 圖項目的超鏈接“pIE_orders.ASPx?customerid=客戶編號”,這樣用戶點擊餅圖 圖片中的熱點時就能跳轉到二級主頁面來顯示指定客戶的訂單詳細信息。

二級主頁面 和主頁面有點類似,都用一個餅圖來顯示數據。其頁面結構和處理過程也差不多,它的 Page_Load方法代碼為

private void Page_Load(object sender, System.EventArgs e)
{
string customerid = this.Request.QueryString["customerid"] ;
if( customerid == null || customerid.Length == 0 )
return ;
// 連接數據庫
using( OleDbConnection conn = new OleDbConnection())
{
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ this.Server.MapPath("demomdb.mdb");
conn.Open();
// 查詢數據庫
using( OleDbCommand cmd = conn.CreateCommand())
{
cmd.CommandText = @"
SELECT OrderDate AS 訂購時間,
shipname AS 運輸人,
shipaddress AS 地點,
( select
sum( round( unitprice * quantity * ( 1 - discount) , 3 ) )
from orderdetails
where orderdetails.orderid = orders.orderid
) AS 總金額
FROM orders
WHERE customerid ='" + customerid + "'" ;
OleDbDataReader reader = cmd.ExecuteReader();
// 創建餅圖對象
PieShape pie = new PIEShape();
pIE.Width = 400 ;
pIE.Height = 300 ;
System.IO.StringWriter writer = new System.IO.StringWriter();
while( reader.Read())
{
double Value = Convert.ToDouble( reader.GetValue( 3 ));
string Text = "
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved