CrystalReportViewer1.Visible=true;
//多表连接的数据源,要用查询来做数据源
// SqlConnection mConn = new SqlConnection("user id=sa;password=shchiang;initial catalog=newsalary;data source=172.18.4.9");
// //SqlDataAdapter mAda = new SqlDataAdapter("SELECT salary.*,employee.*,statistic.* FROM salary , employee ,statistic where salary.eno = employee.eno and statistic.eno=employee.eno and statistic.yyear=salary.year and statistic.mmonth=salary.month ",mConn);
//SqlDataAdapter mAda = new SqlDataAdapter("SELECT salary.*,employee.* FROM salary , employee where salary.eno = employee.eno ",mConn);
// DataSet myDs = new DataSet();
// mAda.Fill(myDs,"test");
// CrystalDecisions.CrystalReports.Engine.ReportDocument crReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
// //报表文件依然需要
String path;
ReportDocument oRpt = new ReportDocument();
path=Server.MapPath("Reportselect.rpt");
oRpt.Load (path);
//oRpt.SetDataSource(myDs);
//从web.config中获取logOnInfo参数信息
string a,b,c,d;
//获取ServerName
a=System.Configuration .ConfigurationSettings .AppSettings ["servername"];
//获取DatabaseName
b=System.Configuration .ConfigurationSettings .AppSettings ["database"];
//获取UserId
c=System.Configuration .ConfigurationSettings .AppSettings ["userid"];
//获取password
d=System.Configuration .ConfigurationSettings .AppSettings ["pass"];
//设置logOnInfo参数 ParameterFields paramFields = new ParameterFields ();
ParameterField paramField = new ParameterField ();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue ();
ParameterDiscreteValue rangeVal = new ParameterDiscreteValue (); // 第一个参数是具有多个值的离散参数。 // 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField.ParameterFieldName = "yyear"; // 设置第一个离散值并将其传递给该参数。
discreteVal.Value = ddl_year.SelectedItem.Text.ToString();
paramField.CurrentValues.Add (discreteVal);
// 将该参数添加到参数字段集合。
paramFields.Add (paramField); // 第二个参数为区域值。paramField 变量
//被设置为新值,这样,以前的设置就不会被覆盖。
paramField = new ParameterField (); // 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField.ParameterFieldName = "mmonth"; // 设置范围的开始值和结束值并将该范围传递给
//该参数。
rangeVal.Value=ddl_month.SelectedItem.Text.ToString();
paramField.CurrentValues.Add (rangeVal); // 将第二个参数添加到参数字段集合。
paramFields.Add (paramField); // 将参数字段集合放入查看器控件。
CrystalReportViewer1.ParameterFieldInfo = paramFields;
CrystalReportViewer1.ReportSource = oRpt;
CrystalReportViewer1.DataBind();
//多表连接的数据源,要用查询来做数据源
// SqlConnection mConn = new SqlConnection("user id=sa;password=shchiang;initial catalog=newsalary;data source=172.18.4.9");
// //SqlDataAdapter mAda = new SqlDataAdapter("SELECT salary.*,employee.*,statistic.* FROM salary , employee ,statistic where salary.eno = employee.eno and statistic.eno=employee.eno and statistic.yyear=salary.year and statistic.mmonth=salary.month ",mConn);
//SqlDataAdapter mAda = new SqlDataAdapter("SELECT salary.*,employee.* FROM salary , employee where salary.eno = employee.eno ",mConn);
// DataSet myDs = new DataSet();
// mAda.Fill(myDs,"test");
// CrystalDecisions.CrystalReports.Engine.ReportDocument crReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
// //报表文件依然需要
String path;
ReportDocument oRpt = new ReportDocument();
path=Server.MapPath("Reportselect.rpt");
oRpt.Load (path);
//oRpt.SetDataSource(myDs);
//从web.config中获取logOnInfo参数信息
string a,b,c,d;
//获取ServerName
a=System.Configuration .ConfigurationSettings .AppSettings ["servername"];
//获取DatabaseName
b=System.Configuration .ConfigurationSettings .AppSettings ["database"];
//获取UserId
c=System.Configuration .ConfigurationSettings .AppSettings ["userid"];
//获取password
d=System.Configuration .ConfigurationSettings .AppSettings ["pass"];
//设置logOnInfo参数 ParameterFields paramFields = new ParameterFields ();
ParameterField paramField = new ParameterField ();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue ();
ParameterDiscreteValue rangeVal = new ParameterDiscreteValue (); // 第一个参数是具有多个值的离散参数。 // 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField.ParameterFieldName = "yyear"; // 设置第一个离散值并将其传递给该参数。
discreteVal.Value = ddl_year.SelectedItem.Text.ToString();
paramField.CurrentValues.Add (discreteVal);
// 将该参数添加到参数字段集合。
paramFields.Add (paramField); // 第二个参数为区域值。paramField 变量
//被设置为新值,这样,以前的设置就不会被覆盖。
paramField = new ParameterField (); // 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField.ParameterFieldName = "mmonth"; // 设置范围的开始值和结束值并将该范围传递给
//该参数。
rangeVal.Value=ddl_month.SelectedItem.Text.ToString();
paramField.CurrentValues.Add (rangeVal); // 将第二个参数添加到参数字段集合。
paramFields.Add (paramField); // 将参数字段集合放入查看器控件。
CrystalReportViewer1.ParameterFieldInfo = paramFields;
CrystalReportViewer1.ReportSource = oRpt;
CrystalReportViewer1.DataBind();
{
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
ReportDocument oRpt = new ReportDocument();
string path;
path=Server.MapPath ("test2.rpt");
oRpt.Load (path);
string a,b,c,d;
a=System.Configuration.ConfigurationSettings.AppSettings ["servername"];
b=System.Configuration.ConfigurationSettings.AppSettings ["database"];
c=System.Configuration.ConfigurationSettings.AppSettings ["userid"];
d=System.Configuration.ConfigurationSettings.AppSettings ["pass"];
logOnInfo.ConnectionInfo.ServerName = a;
logOnInfo.ConnectionInfo.DatabaseName = b;
logOnInfo.ConnectionInfo.UserID = c;
logOnInfo.ConnectionInfo.Password = d;
oRpt.Database.Tables [0].ApplyLogOnInfo (logOnInfo);
crv1.ReportSource = oRpt; string ssxmjlb=Request.QueryString["sxmjlb"].ToString();
string ssxmmc=Request.QueryString["sxmmc"].ToString();
string ssifwc=Request.QueryString["ifwc"].ToString();
ParameterFields paramFields = new ParameterFields();
ParameterField paramField1 = new ParameterField();
ParameterField paramField2 = new ParameterField();
ParameterField paramField3 = new ParameterField();
ParameterDiscreteValue discreteVal1 = new ParameterDiscreteValue();
ParameterDiscreteValue discreteVal2 = new ParameterDiscreteValue();
ParameterDiscreteValue discreteVal3 = new ParameterDiscreteValue(); paramField1.ParameterFieldName = "sxmjlb";
discreteVal1.Value = ssxmjlb;
paramField1.CurrentValues.Add(discreteVal1);
paramFields.Add(paramField1);
paramField2 = new ParameterField();
paramField2.ParameterFieldName = "sxmmc";
discreteVal2.Value = ssxmmc;
paramField2.CurrentValues.Add(discreteVal2);
paramFields.Add(paramField2); paramField3 = new ParameterField();
paramField3.ParameterFieldName = "sifwc";
discreteVal3.Value = ssifwc;
paramField3.CurrentValues.Add(discreteVal3);
paramFields.Add(paramField3); crv1.ParameterFieldInfo = paramFields;
crv1.DisplayGroupTree = false;
crv1.DisplayToolbar = false;
DataBind();
}