コード例 #1
0
    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;
        }
    }
コード例 #2
0
    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;

        }
    }