VB.NET AND C# 连接报表

连接服务器报表(VB.NET)

        Dim tempRpt As New ReportViewer
        Dim params() As ReportParameter = New ReportParameter(0) {}   '报表参数
        params(0) = New ReportParameter("Parameter1", invoiceNO)  '服务器报表参数

        '有多个参数可以开始声明    New ReportParameter(参数数量) {}
        '也可以在后面重置参数数量   ReDim params(参数数量)

         tempRpt.Name = "设置报表名称"
         tempRpt.ProcessingMode = ProcessingMode.Remote    '设置为服务报表
         '报表服务器地址
         tempRpt.ServerReport.ReportServerUrl = New Uri("http://192.168.79.18/Reportserver") 
         tempRpt.ServerReport.ReportPath = "/服务器目录下的报表名称"
         tempRpt.ServerReport.SetParameters(params)    '报表传参

         tempRpt.Width = 980
         tempRpt.Height = 800

         'Controls.Add(tempRpt)    控件添加报表  整个报表也可以添加ReportViewer
         tempRpt.RefreshReport()
         tempRpt.ServerReport.Refresh()

 

连接本地报表 (C#)

        //定义table作为报表数据源
        dim dtRpt as DataTable = 来源数据;

        //添加了报表控件 ReportViewer1
        // 申明報表的類型:本地報表
        ReportViewer1.ProcessingMode = ProcessingMode.Local;

        // 實例化本地報表
        LocalReport LReport1 = ReportViewer1.LocalReport;
        // 獲取報表文件路徑
        LReport1.ReportPath = Server.MapPath("~/Informixrpt.rdl");

        //設置報表參數
        ReportParameter[] param = new ReportParameter[1];  //1 为参数个数
        param[0] = new ReportParameter("P1", "传入的值");   //P1为报表中的参数名称
        LReport1.SetParameters(param);

        //報表數據源
        ReportDataSource DsHeader1 = new ReportDataSource();
        DsHeader1.Name = "InformixDataSource";  //报表需要设置相同的数据源名称
        DsHeader1.Value = dtRpt;

        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.DataSources.Add(DsHeader1);

      
        this.ReportViewer1.LocalReport.Refresh();

posted @ 2010-11-04 13:30  beacon  阅读(455)  评论(0编辑  收藏  举报