袁氏报表用代码画一个饼图

先要建一个ReportService.aspx 代码如下:
XDesigner.Report.ReportHtmlBuilder hb = this.Session["htmlbuilder"as XDesigner.Report.ReportHtmlBuilder;
        
if (hb == null)
            
return;

        
if (this.Request.QueryString["imageindex"!= null)
        
{
            System.Drawing.Imaging.ImageFormat f 
= System.Drawing.Imaging.ImageFormat.Png;

            
string imagType = this.Request.QueryString["imagetype"];
            
if (imagType == "jpg")
                f 
= ImageFormat.Jpeg;

            hb.SaveReportImage(
                Convert.ToInt32(
this.Request.QueryString["imageindex"]),
                
this.Response.OutputStream,
                f);
            
return;
        }


        
if (this.Request.QueryString["out"== "doc")
        
{
            
// Output MS Word 2000 document
            hb.SaveWordDocument(this.Response.OutputStream);
            
this.Response.ContentType = "application/msword";
            
//this.Response.AppendHeader("Content-Disposition","attachment;filename=" + System.Web.HttpUtility.UrlEncode( hb.Title ) + ".doc");
        }

        
else if (this.Request.QueryString["out"== "xls")
        
{
            
// Output MS Excel2000 document
            hb.SaveExcelDocument(this.Response.OutputStream);
            
this.Response.ContentType = "application/vnd.ms-excel";
            
//this.Response.AppendHeader("Content-Disposition","attachment;filename=" + System.Web.HttpUtility.UrlEncode( hb.Title ) + ".xls");
        }

        
else if (this.Request.QueryString["out"== "pdf")
        
{
            hb.SavePDFDocument(
this.Response.OutputStream);
            
this.Response.ContentType = "application/pdf";
        }

        
else
            hb.Save(
this.Response.Output);

再建一个页面画大饼咯:
//先增一个报表
        DesignReportDocument doc = new DesignReportDocument();
        doc.Title 
= "动态报表";

        
//Lable
        DesignReportLabel lbl = doc.CreateLabelElement();
        lbl.Text 
= "动态报表演示";
        lbl.TextColor 
= System.Drawing.Color.Yellow;
        lbl.Font 
= new Font("宋体"20, System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic);
        lbl.Align 
= StringAlignment.Center;
        lbl.PrintDockStyle 
= PrintDockStyle.Top;
        lbl.Height 
= 120;
        lbl.Border.BackColor 
= Color.SkyBlue;
        doc.Add(lbl);

        
//一个大饼
        DesignReportPie pie = doc.CreatePieElement();
        pie.Bounds 
= new Rectangle(1697751363954);
        pie.Thickness 
= 60;
        pie.BorderWidth 
= 1;
        pie.LeftBorder 
= false;
        pie.TopBorder 
= false;
        pie.RightBorder 
= false;
        pie.BottomBorder 
= false;
        doc.Add(pie);

        
//增加列
        for (int i = 1; i < 5; i++)
        
{
            DesignReportPieItem pieItem 
= doc.CreatePieItemElement();
            pieItem.ID 
= "pieItem" + i;
            pieItem.Value 
= i.ToString();
            pieItem.Text 
= i.ToString() + "_" + i.ToString();
            pieItem.FillColor 
= System.Drawing.Color.FromArgb((i * 1000% 255, (i * 100% 255, (i * 10% 255);
            
//pieItem.BackColor = System.Drawing.Color.FromArgb(255, 255, (i * 100) % 255);
            pie.AppendChild(pieItem);
        }


        DesignReportLabelList reportpietext1 
= doc.CreateLabelListElement();
        doc.AppendChild(reportpietext1);
        reportpietext1.ID 
= "reportpietext1";
        reportpietext1.Bounds 
= new System.Drawing.Rectangle(215241175731);
        reportpietext1.BorderWidth 
= 1;
        reportpietext1.ItemSpacing 
= 30;
        reportpietext1.ItemHeight 
= 50;
        reportpietext1.Font 
= new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold);
        reportpietext1.BarSize 
= 60;

        XDesigner.Report.ReportBuilder rb 
= new ReportBuilder();
        rb.LoadReport(doc);

        XDesigner.Report.ReportHtmlBuilder hb 
= rb.CreateHtmlBuilder();
        hb.ImgSrcFormatString 
= "reportservice.aspx?imageindex={0}";
        hb.Refresh();
        hb.ContentEncoding 
= this.Response.ContentEncoding;

        
this.Session["htmlbuilder"= hb;
        hb.Save(
this.Response.Output);


posted on 2007-06-13 16:45  tonyYe  阅读(565)  评论(0)    收藏  举报