连接服务器报表(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();