页面中主要有一个CrystalReportViewer,GenerateBtn按钮,在运行的时候能够读取到数据库中的数据,能够生成报表,报表能够翻页,也能够页面缩放,就是不能导出和打印,每次点击报表工具条上的导出和打印时,页面只是刷新一下就没反映了
- C# code
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string sqlstr = "select distinct FOG_CODE from Inf_TestData"; SqlDataAdapter myda = new SqlDataAdapter(sqlstr, conn); DataTable mydt = new DataTable(); ArrayList arr = new ArrayList(); conn.Open(); myda.Fill(mydt); foreach (DataRow dr in mydt.Rows) { arr.Add(dr[0].ToString().Substring(0, 14)); } DropDownList1.DataSource = arr; DropDownList1.DataBind(); conn.Close(); } if (Session["myReport"] != null) { CrystalReportViewer1.ReportSource = (ReportDocument)Session["myReport"]; } } protected void GenerateBtn_Click(object sender, EventArgs e) { TextBox1.Text = Request.Form["Select1"]; DataSet1 dt1 = new DataSet1(); //实例化DataTable DataTable mytable = new DataTable("mytable"); //创建一个名为"id"的列,值类型为int DataColumn dc1 = new DataColumn("id", typeof(int)); dc1.AllowDBNull = false;//不允许为空 dc1.AutoIncrement = true;//自动递增 dc1.AutoIncrementSeed = 1;//列起始值为1 dc1.AutoIncrementStep = 1;//步长为1 mytable.Columns.Add(dc1);//添加列到表中 DataColumn dc = new DataColumn("value", typeof(double)); mytable.Columns.Add(dc); DataRow row = mytable.NewRow(); double[] DOU = new double[GetDOU(fogName, date).Length]; GetDOU(fogName, date).CopyTo(DOU, 0); for (int i = 0; i < (int)(DOU[25004] - 25000) / 10; i++) { row = mytable.NewRow(); row["value"] = DOU[25001 + i * 10]; mytable.Rows.Add(row); } dt1.Tables.Add(mytable); ReportDocument myReport = new ReportDocument(); string reportPath = Server.MapPath("HTGD.rpt"); myReport.Load(reportPath); myReport.OpenSubreport("KX.rpt").SetDataSource(mytable); CrystalReportViewer1.ReportSource = myReport; myReport.SetParameterValue("Model", Model.Text.ToString()); myReport.SetParameterValue("Number", Number.Text.ToString()); myReport.SetParameterValue("Testdate", Testdate.Text.ToString()); myReport.SetParameterValue("Test", "17589", "Schedule2.rpt"); myReport.SetParameterValue("KX", "5", "KX.rpt"); Session["myReport"] = myReport; }
页面中主要有一个CrystalReportViewer,GenerateBtn按钮,在运行的时候能够读取到数据库中的数据,能够生成报表,报表能够翻页,也能够页面缩放,就是不能导出和打印,每次点击报表工具条上的导出和打印时,页面只是刷新一下就没反映了,请问这个问题应该怎么解决?网上找了很多资料,好像都不好用,求救!SOS
------解决方案--------------------
1、打印和导出是需要弹出一个窗口,而有些浏览器会禁止弹出窗口所致;
2、你用ie浏览器试试,不要用360、遨游等浏览器。