4,816
社区成员
发帖
与我相关
我的任务
分享
protected void Button1_Click(object sender, EventArgs e)
{
ReportDocument ocr = new ReportDocument();
ocr.Load(Server.MapPath("~/SYYHPDJB.rpt"));
ocr.SetDataSource(ds);//数据源为DataSeta或DataTable
//第一个参数是报表中的变量,第二个是传递给报表的变量
ocr.SetParameterValue("djzsbh", djzsbh);
ocr.SetParameterValue("hphm", hphm);
ocr.PrintOptions.PrinterName = @"\\Zshz-44f05c55cf\Canon iP1900 series";
ocr.PrintToPrinter(1, false, 0, 0);
}
protected void Page_Load(object sender, EventArgs e)
{
//这里使用ViewState保持ReportDocument对像
//每次页面更新时,不再需要重新走数据库
//注意:如果是VS2008,这段代码要放到Page_Init事件中
if (ViewState["myRpt"] != null)
{
CrystalReportViewer1.ReportSource = (ReportDocument)ViewState["myRpt"];
}
}
//按钮事件
protected void Button1_Click(object sender, EventArgs e)
{
ReportDocument myReport = new ReportDocument();
myReport.Load(Server.MapPath("~/SYYHPDJB.rpt"));
myReport.SetDataSource(ds); //设置报表的数据源
//参数传值
ParameterValues pvs = new ParameterValues();
ParameterDiscreteValue pv = new ParameterDiscreteValue();
pv.Value = "djzsbh";
pvs.Add(pv);
pv = new ParameterDiscreteValue();
pv.Value = "hphm";
pvs.Add(pv);
myReport.SetParameterValue("collection", pvs);
CrystalReportViewer1.ReportSource = myReport;
//保存到ViewState
ViewState["myRpt"]=myReport;
}