public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport()
        {
            ReportProduct rpt = new ReportProduct();

            rpt.Site = this.Site;
            return(rpt);
        }
        private void ReportProductForm_Load(object sender, EventArgs e)
        {
            DataSet dsTempReport = new DataSet();

            try
            {
                string appPath = Directory.GetCurrentDirectory() + "\\" + globalConstants.ProductXML;
                dsTempReport.ReadXml(@appPath);

                //prepare report for preview
                ReportProduct rptXMLReport = new ReportProduct();
                CrystalDecisions.CrystalReports.Engine.TextObject txtReportHeader1, txtReportHeader2;
                txtReportHeader1 = rptXMLReport.ReportDefinition.ReportObjects["NamaTokoLabel"] as TextObject;
                txtReportHeader2 = rptXMLReport.ReportDefinition.ReportObjects["InfoTokoLabel"] as TextObject;
                //baca database untuk nama toko
                String nama, alamat, telepon, email;
                if (!gutil.loadinfotoko(2, out nama, out alamat, out telepon, out email))
                {
                    //reset default optsi = 1
                    if (!gutil.loadinfotoko(1, out nama, out alamat, out telepon, out email))
                    {
                        nama    = "TOKO DEFAULT";
                        alamat  = "ALAMAT DEFAULT";
                        telepon = "0271-XXXXXXX";
                        email   = "*****@*****.**";
                    }
                }
                txtReportHeader1.Text = nama;
                txtReportHeader2.Text = alamat + Environment.NewLine + telepon + Environment.NewLine + email;
                //rptXMLReport.SetDataSource(dsTempReport);
                rptXMLReport.Database.Tables[0].SetDataSource(dsTempReport.Tables[0]);
                crystalReportViewer1.ReportSource = rptXMLReport;
                crystalReportViewer1.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void ReportProductForm_Load(object sender, EventArgs e)
        {
            DataSet dsTempReport = new DataSet();
            string  appPath;
            //if (originModuleID == globalConstants.REPORT_STOCK_AGING)
            //{
            //    createAgingStockXML();
            //    try
            //    {
            //        appPath = Directory.GetCurrentDirectory() + "\\" + globalConstants.StockAgingXML;
            //        dsTempReport.ReadXml(@appPath);

            //        //prepare report for preview
            //        ReportProductAging rptXMLReport = new ReportProductAging();
            //        CrystalDecisions.CrystalReports.Engine.TextObject txtReportHeader1, txtReportHeader2;
            //        txtReportHeader1 = rptXMLReport.ReportDefinition.ReportObjects["NamaTokoLabel"] as TextObject;
            //        txtReportHeader2 = rptXMLReport.ReportDefinition.ReportObjects["InfoTokoLabel"] as TextObject;
            //        //baca database untuk nama toko
            //        String nama, alamat, telepon, email;
            //        if (!gutil.loadinfotoko(2, out nama, out alamat, out telepon, out email))
            //        {
            //            //reset default optsi = 1
            //            if (!gutil.loadinfotoko(1, out nama, out alamat, out telepon, out email))
            //            {
            //                nama = "TOKO DEFAULT";
            //                alamat = "ALAMAT DEFAULT";
            //                telepon = "0271-XXXXXXX";
            //                email = "*****@*****.**";
            //            }
            //        }
            //        txtReportHeader1.Text = nama;
            //        txtReportHeader2.Text = alamat + Environment.NewLine + telepon + Environment.NewLine + email;
            //        //rptXMLReport.SetDataSource(dsTempReport);
            //        rptXMLReport.Database.Tables[0].SetDataSource(dsTempReport.Tables[0]);
            //        crystalReportViewer1.ReportSource = rptXMLReport;
            //        crystalReportViewer1.Refresh();
            //    }
            //    catch (Exception ex)
            //    {
            //        MessageBox.Show(ex.Message);
            //    }
            //}
            //else
            {
                try
                {
                    appPath = Directory.GetCurrentDirectory() + "\\" + globalConstants.ProductXML;
                    dsTempReport.ReadXml(@appPath);

                    //prepare report for preview
                    ReportProduct rptXMLReport = new ReportProduct();
                    CrystalDecisions.CrystalReports.Engine.TextObject txtReportHeader1, txtReportHeader2;
                    txtReportHeader1 = rptXMLReport.ReportDefinition.ReportObjects["NamaTokoLabel"] as TextObject;
                    txtReportHeader2 = rptXMLReport.ReportDefinition.ReportObjects["InfoTokoLabel"] as TextObject;
                    //baca database untuk nama toko
                    String nama, alamat, telepon, email;
                    if (!gutil.loadinfotoko(2, out nama, out alamat, out telepon, out email))
                    {
                        //reset default optsi = 1
                        if (!gutil.loadinfotoko(1, out nama, out alamat, out telepon, out email))
                        {
                            nama    = "TOKO DEFAULT";
                            alamat  = "ALAMAT DEFAULT";
                            telepon = "0271-XXXXXXX";
                            email   = "*****@*****.**";
                        }
                    }
                    txtReportHeader1.Text = nama;
                    txtReportHeader2.Text = alamat + Environment.NewLine + telepon + Environment.NewLine + email;
                    //rptXMLReport.SetDataSource(dsTempReport);
                    rptXMLReport.Database.Tables[0].SetDataSource(dsTempReport.Tables[0]);

                    globalPrinterUtility gPrinter = new globalPrinterUtility();
                    rptXMLReport.PrintOptions.PrinterName      = gPrinter.getConfigPrinterName(2);
                    rptXMLReport.PrintOptions.PaperSize        = (CrystalDecisions.Shared.PaperSize)gPrinter.getReportPaperSize(globalPrinterUtility.LETTER_PAPER_SIZE);
                    rptXMLReport.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait;

                    crystalReportViewer1.ReportSource = rptXMLReport;
                    crystalReportViewer1.Refresh();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }