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();