protected void brnPrint_Click(object sender, EventArgs e) { ReportDocument rpt = new ReportDocument(); CrystalReportViewer1.Enabled = true; string str = "rptClassReport.rpt"; rpt.Load(Server.MapPath(str)); ///////////////////// //Get danh sách lớp dưới db tv1 = new ThuVien(); DataTable dt = tv1.SP_SelectDataTable("USP_Statistic_ClassesReport", new string[] { "@BranchID" }, new object[] { ddlTrungTam.SelectedValue }); dsForReport.LopDataTable lopDataTable = new dsForReport.LopDataTable(); string[] sParam; string hs; hs = ""; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { DataRow r = lopDataTable.NewRow(); //Khuôn dạng của table trong Dataset r["idLop"] = dt.Rows[i]["idLop"]; r["tenlop"] = dt.Rows[i]["tenlop"]; r["giaovien"] = dt.Rows[i]["giaovien"]; // sParam = dt.Rows[i]["hs1"].ToString().Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs1"].ToString(); r["hs1"] = hs; r["phone1"] = dt.Rows[i]["phone1"]; // sParam = dt.Rows[i]["hs2"].ToString().Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs2"].ToString(); r["hs2"] = hs; r["phone2"] = dt.Rows[i]["phone2"]; // sParam = dt.Rows[i]["hs2"].ToString().Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs3"].ToString(); r["hs3"] = hs; r["phone3"] = dt.Rows[i]["phone3"]; // sParam = dt.Rows[i]["hs4"].ToString().Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs4"].ToString(); r["hs4"] = hs; r["phone4"] = dt.Rows[i]["phone4"]; // sParam = dt.Rows[i]["hs5"].ToString().Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs5"].ToString(); r["hs5"] = hs; r["phone5"] = dt.Rows[i]["phone5"]; // sParam = dt.Rows[i]["hs6"].ToString().Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs6"].ToString(); r["hs6"] = hs; r["phone6"] = dt.Rows[i]["phone6"]; lopDataTable.Rows.Add(r); //Thêm vào bảng có khuôn dạng trong dataset } ////////////////////////////////////////// //rpt.SetDataSource((DataTable)lopDataTable); CrystalReportViewer1.ReportSource = rpt; CrystalReportViewer1.Visible = true; } }
protected void btnPreview_Click(object sender, EventArgs e) { ReportDocument crystalReport = new ReportDocument(); crystalReport.Load(Server.MapPath("~/Report/rptClassReport.rpt")); DataTable dt; dsForReport.LopDataTable lopDataTable = new dsForReport.LopDataTable(); //Get danh sách lớp dưới db tv1 = new ThuVien(); dt = tv1.SP_SelectDataTable("USP_Statistic_ClassesReport", new string[] { "@BranchID", "@ReportDate" }, new object[] { ddlTrungTam.SelectedValue, Convert.ToDateTime(txtNgayDeIn.Text).ToString("MM/dd/yyyy") }); string[] sParam; string hs; hs = ""; string tenlop=""; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { DataRow r = lopDataTable.NewRow(); //Khuôn dạng của table trong Dataset r["idLop"] = dt.Rows[i]["idLop"]; tenlop= dt.Rows[i]["tenlop"].ToString(); r["tenlop"] = tenlop.Substring(0, tenlop.IndexOf("(")) + "/ " + dt.Rows[i]["tenphong"]; r["giaovien"] = dt.Rows[i]["giaovien"]; // sParam = dt.Rows[i]["hs1"].ToString().Replace(" ", " ").Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs1"].ToString(); r["hs1"] = hs; r["phone1"] = dt.Rows[i]["phone1"]; // sParam = dt.Rows[i]["hs2"].ToString().Replace(" ", " ").Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs2"].ToString(); r["hs2"] = hs; r["phone2"] = dt.Rows[i]["phone2"]; // sParam = dt.Rows[i]["hs3"].ToString().Replace(" ", " ").Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs3"].ToString(); r["hs3"] = hs; r["phone3"] = dt.Rows[i]["phone3"]; // sParam = dt.Rows[i]["hs4"].ToString().Replace(" ", " ").Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs4"].ToString(); r["hs4"] = hs; r["phone4"] = dt.Rows[i]["phone4"]; // sParam = dt.Rows[i]["hs5"].ToString().Replace(" ", " ").Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs5"].ToString(); r["hs5"] = hs; r["phone5"] = dt.Rows[i]["phone5"]; // sParam = dt.Rows[i]["hs6"].ToString().Replace(" ", " ").Split(new char[] { ' ' }); if (sParam.Length > 2) hs = sParam[sParam.Length - 2] + " " + sParam[sParam.Length - 1]; else hs = dt.Rows[i]["hs6"].ToString(); r["hs6"] = hs; r["phone6"] = dt.Rows[i]["phone6"]; lopDataTable.Rows.Add(r); //Thêm vào bảng có khuôn dạng trong dataset } //QUESTION: dataset đéo chạy, bắt nhập Mật khẩu //dsreport.Tables.Add((DataTable)lopDataTable); //ép kiểu về dạng table bình thường //Truyền một số giá trị vào form CrystalDecisions.CrystalReports.Engine.TextObject str_txtDate; str_txtDate = (CrystalDecisions.CrystalReports.Engine.TextObject)crystalReport.ReportDefinition.ReportObjects["txtDate"]; str_txtDate.Text = "DATE: " + txtNgayDeIn.Text; //DateTime.Now.ToString("dd/MM/yyyy"); CrystalDecisions.CrystalReports.Engine.TextObject str_txtTenTT; str_txtTenTT = (CrystalDecisions.CrystalReports.Engine.TextObject)crystalReport.ReportDefinition.ReportObjects["txtTenTT"]; str_txtTenTT.Text = "Center: " + ddlTrungTam.SelectedItem.Text; crystalReport.SetDataSource((DataTable)lopDataTable); CrystalReportViewer1.ReportSource = crystalReport; } }