源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Asp.net 自带报表的使用详解

  • 时间:2021-03-19 23:17 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Asp.net 自带报表的使用详解
1:新建報表所需的數據源DataSet.cs
[u]复制代码[/u] 代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; namespace ******** {     public class DataSet     {         public DataTable CreatDataSet()         {             DataTable dt = new DataTable();             dt.Columns.Add("A");             dt.Columns.Add("B");             dt.Columns.Add("C");             return dt;         }     } }
指定所需要綁定的Table的列,返回dataTable 類,CreatDataSet方法名稱隨便起,也可以在一個類裏面定義多個方法(不同數據源) 2:設計報表 [img]http://files.jb51.net/file_images/article/201310/20131011152046160.bmp[/img] 報表設計這裡就不涉及了 3:把第一步新建的數據源加到報表裏面綁定  注意:這裡需要先引用 Interop.VBA.dll 才可以把新建的CS文件作為數據源導入   [img]http://files.jb51.net/file_images/article/201310/20131011152046161.bmp[/img] 把數據源導入后綁定即可 4:直接把報表導出為PDF,Excel等格式
[u]复制代码[/u] 代码如下:
ReportViewer viewer = new ReportViewer();             viewer.ProcessingMode = ProcessingMode.Local;             viewer.LocalReport.ReportEmbeddedResource = "***.Page.Report.Report1.rdlc";             ReportDataSource rds_1 = new ReportDataSource("DataSet1", dtReport);//DataSet1為報表裏面的數據源名稱             viewer.LocalReport.DataSources.Add(rds_1);             ReportParameter rp1 = new ReportParameter("參數1","參數1的值" );//給參數賦值             ReportParameter rp2 = new ReportParameter("參數2","參數2的值" );             viewer.LocalReport.SetParameters(new ReportParameter[] {rp1, rp2 });             Warning[] warnings;             string[] streamIds;             string mimeType = string.Empty;             string encoding = string.Empty;             string extension = string.Empty;             byte[] bytes = viewer.LocalReport.Render("Excel", null, out mimeType, out encoding, out extension, out streamIds, out warnings);             //Excel ,PDF ,Word 等格式             // Now that you have all the bytes representing the PDF report, buffer it and send it to the client.             Response.Buffer = true;             Response.Clear();             Response.ContentType = mimeType;             Response.AddHeader("content-disposition", "attachment; filename=1_" + DateTime.Now.ToString("yyyyMMddhhssmm") + "" + "." + extension);             Response.BinaryWrite(bytes); // create the file             Response.Flush(); // send it to the client to download
5:在頁面引用報表(rpResult為報表控件)
[u]复制代码[/u] 代码如下:
DataTable dt = new DataTable();//自己拼出數據源就可以                 ReportDataSource repDataSource = new ReportDataSource("DataSet1", dt);                 //*設置報表參數,并顯示                 this.rpResut.LocalReport.ReportEmbeddedResource = "***.Page.Report.Report1.rdlc"";                 this.rpResut.LocalReport.DataSources.Clear();                 this.rpResut.LocalReport.DataSources.Add(repDataSource);                  ReportParameter rp1 = new ReportParameter("參數1","參數1的值" );//給參數賦值                   ReportParameter rp2 = new ReportParameter("參數2","參數2的值" );                 this.rpResut.LocalReport.SetParameters(new ReportParameter[] {rp1, rp2 });                 this.rpResut.DataBind();                 this.rpResut.LocalReport.Refresh();
至此,報表的產出和顯示都OK了,如果需要更深入的了解,請查看其它文章
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部