Ejemplo n.º 1
0
 public void PrintReport()
 {
     if (PrintA4 == false)
     {
         // In hóa đơn.
         rpt.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4;
         // margins for the report.
         CrystalDecisions.Shared.PageMargins margins = rpt.PrintOptions.PageMargins;
         //margins.bottomMargin = 150;
         margins.leftMargin  = 350;
         margins.rightMargin = 150;
         //margins.topMargin = 150;
         // Apply the page margins.
         rpt.PrintOptions.ApplyPageMargins(margins);
         rpt.PrintOptions.PrinterName = GetDefaultPrinter();
         crystalReportViewer1.ShowLastPage();
         rpt.PrintToPrinter(1, true, 1, crystalReportViewer1.GetCurrentPageNumber());
     }
     else
     {
         PrintDialog  PrintDialog1 = new PrintDialog();
         DialogResult result       = PrintDialog1.ShowDialog();
         if (result == DialogResult.OK)
         {
             rpt.PrintOptions.PaperSize   = CrystalDecisions.Shared.PaperSize.PaperLetter;
             rpt.PrintOptions.PrinterName = PrintDialog1.PrinterSettings.PrinterName;
             crystalReportViewer1.ShowLastPage();
             rpt.PrintToPrinter(1, true, 1, crystalReportViewer1.GetCurrentPageNumber());
         }
     }
 }
Ejemplo n.º 2
0
        public void PrintReport()
        {
            if (PrintA4 == false)
            {
                // In hóa đơn.
                rpt.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4;
                // margins for the report.
                CrystalDecisions.Shared.PageMargins margins = rpt.PrintOptions.PageMargins;
                //margins.bottomMargin = 150;
                margins.leftMargin  = 110;
                margins.rightMargin = 150;
                //margins.topMargin = 150;
                // Apply the page margins.
                rpt.PrintOptions.ApplyPageMargins(margins);
                rpt.PrintOptions.PrinterName = GetDefaultPrinter();
                crystalReportViewer1.ShowLastPage();

                //if (ReportName.StartsWith("PrintInvoice"))
                //rpt.PrintToPrinter(Global.NoOfBillToPrint, true, 1, crystalReportViewer1.GetCurrentPageNumber());
                //else
                for (int i = 0; i < NumberOfCopy; i++)
                {
                    rpt.PrintToPrinter(1, true, 1, crystalReportViewer1.GetCurrentPageNumber());
                }
                rpt.Close();
                rpt.Dispose();
                rpt = null;
            }
            else
            {
                using (PrintDialog PrintDialog1 = new PrintDialog())
                {
                    DialogResult result = PrintDialog1.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        rpt.PrintOptions.PaperSize   = CrystalDecisions.Shared.PaperSize.PaperLetter;
                        rpt.PrintOptions.PrinterName = PrintDialog1.PrinterSettings.PrinterName;
                        crystalReportViewer1.ShowLastPage();
                        for (int i = 0; i < NumberOfCopy; i++)
                        {
                            rpt.PrintToPrinter(1, true, 1, crystalReportViewer1.GetCurrentPageNumber());
                        }
                        rpt.Close();
                        rpt.Dispose();
                        rpt = null;
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public CrystalReportPrintClass(string dataSourceName, DataTable dataSourceValue, string reportPath, List <CrystalReportParameter> parameters, double pageWidth, double pageHeight, double leftMargin, double rightMargin, double topMargin, double bottomMargin)
        {
            //string reportPath = Environment.CurrentDirectory + "\\ReportSrc";
            _cryRpt.Load(reportPath);
            //crystalReportViewer1.ReportSource = _cryRpt;
            //crystalReportViewer1.Refresh();


            _objPageMargins = _cryRpt.PrintOptions.PageMargins;
            _objPageMargins.bottomMargin = 0;
            _objPageMargins.leftMargin   = 0;
            _objPageMargins.rightMargin  = 0;
            _objPageMargins.topMargin    = 0;
            _cryRpt.PrintOptions.ApplyPageMargins(_objPageMargins);

            _cryRpt.SetDataSource(dataSourceValue);
            foreach (CrystalReportParameter item in parameters)
            {
                _cryRpt.SetParameterValue(item.Name, item.Value);
            }

            //_cryRpt.PrintOptions.PrinterName = "Foxit Reader PDF Printer";
            //_cryRpt.PrintToPrinter(1, false, 0, 0);

            /*this._pageWidth = pageWidth;
             * this._pageHeight = pageHeight;
             * this._leftMargin = leftMargin;
             * this._rightMargin = rightMargin;
             * this._topMargin = topMargin;
             * this._bottomMargin = bottomMargin;
             * LocalReport report = new LocalReport();
             * report.ReportPath = reportPath;
             * report.DataSources.Add(new ReportDataSource(dataSourceName, dataSourceValue));
             * try
             * {
             *  Export(report);
             * }
             * catch (Exception e)
             * {
             *  MessageBox.Show(e.Message + '\n' + e.InnerException.Message + '\n' + e.InnerException.InnerException.Message);
             * }
             * _currentPageIndex = 0;*/
        }
        protected override void PrintSec()
        {
            // レコード定義を行う
            DataTable table = CheckData();

            if (table == null)
            {
                return;
            }
            //xsdファイルを保存します。

            //DB ---→ xsd ----→ クリスタルレポート

            //というデータの流れになります
            //table.TableName = ProID;
            //table.WriteXmlSchema(ProID + ".xsd");

            //①保存した.xsdはプロジェクトに追加しておきます。
            DialogResult ret;
            KaitounoukiKakuninsho_Report Report = new KaitounoukiKakuninsho_Report();

            switch (PrintMode)
            {
            case EPrintMode.DIRECT:

                //Q208 印刷します。”はい”でプレビュー、”いいえ”で直接プリンターから印刷します。
                ret = bbl.ShowMessage("Q208");
                if (ret == DialogResult.Cancel)
                {
                    return;
                }

                // 印字データをセット
                Report.SetDataSource(table);
                Report.Refresh();

                if (ret == DialogResult.Yes)
                {
                    //プレビュー
                    var previewForm = new Viewer();
                    previewForm.CrystalReportViewer1.ShowPrintButton = true;
                    previewForm.CrystalReportViewer1.ReportSource    = Report;
                    previewForm.ShowDialog();
                }
                else
                {
                    int marginLeft = 360;
                    CrystalDecisions.Shared.PageMargins margin = Report.PrintOptions.PageMargins;
                    margin.leftMargin   = marginLeft;       // mmの指定をtwip単位に変換する
                    margin.topMargin    = marginLeft;
                    margin.bottomMargin = marginLeft;       //mmToTwip(marginLeft);
                    margin.rightMargin  = marginLeft;
                    Report.PrintOptions.ApplyPageMargins(margin);
                    // プリンタに印刷
                    Report.PrintToPrinter(0, false, 0, 0);
                }
                break;

            case EPrintMode.PDF:
                if (bbl.ShowMessage("Q204") != DialogResult.Yes)
                {
                    return;
                }
                string filePath = "";
                if (!ShowSaveFileDialog(InProgramNM, out filePath))
                {
                    return;
                }

                // 印字データをセット
                Report.SetDataSource(table);
                Report.Refresh();

                bool result = OutputPDF(filePath, Report);

                //PDF出力が完了しました。
                bbl.ShowMessage("I202");

                break;
            }

            //ログファイルへの更新
            bbl.L_Log_Insert(Get_L_Log_Entity());

            //更新後画面そのまま
            detailControls[0].Focus();
        }
        protected override void PrintSec()
        {
            // レコード定義を行う
            DataTable table = CheckData();

            try
            {
                if (table == null)
                {
                    return;
                }
                //xsdファイルを保存します。

                //DB ---→ xsd ----→ クリスタルレポート

                //というデータの流れになります
                //table.TableName = ProID;
                //table.WriteXmlSchema("DataTable" + ProID + ".xsd");

                //①保存した.xsdはプロジェクトに追加しておきます。
                DialogResult            ret;
                NyuukinYoteiHyou_Report Report = new NyuukinYoteiHyou_Report();

                //DataTableのDetailOnが1かどうかで詳細セクションを印字するかどうかの設定を
                //している(セクションエキスパート)

                switch (PrintMode)
                {
                case EPrintMode.DIRECT:
                    if (StartUpKBN == "1")
                    {
                        ret = DialogResult.No;
                    }
                    else
                    {
                        //Q208 印刷します。”はい”でプレビュー、”いいえ”で直接プリンターから印刷します。
                        ret = bbl.ShowMessage("Q208");
                        if (ret == DialogResult.Cancel)
                        {
                            return;
                        }
                    }
                    Report.PrintOptions.PaperSize        = CrystalDecisions.Shared.PaperSize.PaperA4;
                    Report.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;

                    // 印字データをセット
                    Report.SetDataSource(table);
                    Report.Refresh();

                    if (ret == DialogResult.Yes)
                    {
                        //プレビュー
                        var previewForm = new Viewer();
                        previewForm.CrystalReportViewer1.ShowPrintButton = true;
                        previewForm.CrystalReportViewer1.ReportSource    = Report;
                        //previewForm.CrystalReportViewer1.Zoom(1);
                        previewForm.ShowDialog();
                    }
                    else
                    {
                        int marginLeft = 360;
                        CrystalDecisions.Shared.PageMargins margin = Report.PrintOptions.PageMargins;
                        margin.leftMargin   = marginLeft;   // mmの指定をtwip単位に変換する
                        margin.topMargin    = marginLeft;
                        margin.bottomMargin = marginLeft;   //mmToTwip(marginLeft);
                        margin.rightMargin  = marginLeft;
                        Report.PrintOptions.ApplyPageMargins(margin);
                        // プリンタに印刷
                        Report.PrintToPrinter(0, false, 0, 0);
                    }
                    break;

                case EPrintMode.PDF:
                    if (bbl.ShowMessage("Q204") != DialogResult.Yes)
                    {
                        return;
                    }
                    string filePath = "";
                    if (!ShowSaveFileDialog(InProgramNM, out filePath))
                    {
                        return;
                    }

                    // 印字データをセット
                    Report.SetDataSource(table);
                    Report.Refresh();

                    bool result = OutputPDF(filePath, Report);

                    //PDF出力が完了しました。
                    bbl.ShowMessage("I202");

                    break;
                }

                //プログラム実行履歴
                InsertLog(Get_L_Log_Entity());
            }
            finally
            {
            }

            //更新後画面そのまま
            detailControls[0].Focus();
        }
Ejemplo n.º 6
0
        protected override void PrintSec()
        {
            DataTable dtPrintData1 = new DataTable();
            DataTable dtPrintData2 = new DataTable();
            DataTable dtPrintData3 = new DataTable();
            DataTable dtPrintData4 = new DataTable();

            if (ErrorCheck())
            {
                if (chkUnissued1.Checked == true)
                {
                    dpe1 = new D_Picking_Entity
                    {
                        SoukoCD = cboSouko.SelectedValue.ToString(),
                        StoreCD = StoreCD,
                        ShippingPlanDateFrom = txtDateFrom1.Text,
                        ShippingPlanDateTo   = txtDateTo1.Text,
                        ShippingDate         = txtShipmentDate.Text,
                        InsertOperator       = InOperatorCD,
                        ProgramID            = this.InProgramID,
                        PC = InPcID,
                    };
                    dtPrintData1 = plbl.PickingList_InsertUpdateSelect_Check1(dpe1);
                }

                if (chkUnissued2.Checked == true)
                {
                    dpe2 = new D_Picking_Entity
                    {
                        SoukoCD        = cboSouko.SelectedValue.ToString(),
                        PickingNO      = ScPickingNo1.TxtCode.Text,
                        InsertOperator = InOperatorCD,
                    };
                    dtPrintData2 = plbl.PickingList_InsertUpdateSelect_Check2(dpe2);
                }

                if (chkReissued1.Checked == true)
                {
                    dpe3 = new D_Picking_Entity
                    {
                        SoukoCD = cboSouko.SelectedValue.ToString(),
                        StoreCD = StoreCD,
                        ShippingPlanDateFrom = txtDateFrom2.Text,
                        ShippingPlanDateTo   = txtDateTo2.Text,
                        InsertOperator       = InOperatorCD,
                    };
                    dtPrintData3 = plbl.PickingList_InsertUpdateSelect_Check3(dpe3);
                }

                if (chkReissued2.Checked == true)
                {
                    dpe4 = new D_Picking_Entity
                    {
                        SoukoCD        = cboSouko.SelectedValue.ToString(),
                        PickingNO      = ScPickingNo2.TxtCode.Text,
                        InsertOperator = InOperatorCD,
                    };
                    dtPrintData4 = plbl.PickingList_InsertUpdateSelect_Check2(dpe4);
                }


                // レコード定義を行う

                try
                {
                    if ((dtPrintData1 == null || dtPrintData1.Rows.Count <= 0) || (dtPrintData2 == null || dtPrintData2.Rows.Count <= 0) ||
                        (dtPrintData3 == null || dtPrintData3.Rows.Count <= 0) || (dtPrintData4 == null || dtPrintData4.Rows.Count <= 0))
                    {
                        bbl.ShowMessage("E128");
                    }
                    else
                    {
                        if (chkUnissued1.Checked == true && dtPrintData1.Rows.Count > 0)
                        {
                            DialogResult       ret;
                            PickingList_Report Report = new PickingList_Report();

                            switch (PrintMode)
                            {
                            case EPrintMode.DIRECT:

                                //Q208 印刷します。”はい”でプレビュー、”いいえ”で直接プリンターから印刷します。
                                ret = plbl.ShowMessage("Q208");
                                if (ret == DialogResult.Cancel)
                                {
                                    return;
                                }
                                Report.PrintOptions.PaperSize        = CrystalDecisions.Shared.PaperSize.PaperA4;
                                Report.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;

                                // 印字データをセット
                                Report.SetDataSource(dtPrintData1);
                                Report.Refresh();
                                Report.SetParameterValue("txtSouko", cboSouko.SelectedValue.ToString() + "  " + cboSouko.Text);
                                Report.SetParameterValue("pickingNO", dtPrintData1.Rows[0]["PickingNO"].ToString());

                                if (ret == DialogResult.Yes)
                                {
                                    //プレビュー
                                    var previewForm = new Viewer();
                                    previewForm.CrystalReportViewer1.ShowPrintButton = true;
                                    previewForm.CrystalReportViewer1.ReportSource    = Report;

                                    previewForm.ShowDialog();
                                }
                                else
                                {
                                    int marginLeft = 360;
                                    CrystalDecisions.Shared.PageMargins margin = Report.PrintOptions.PageMargins;
                                    margin.leftMargin   = marginLeft;   // mmの指定をtwip単位に変換する
                                    margin.topMargin    = marginLeft;
                                    margin.bottomMargin = marginLeft;   //mmToTwip(marginLeft);
                                    margin.rightMargin  = marginLeft;
                                    Report.PrintOptions.ApplyPageMargins(margin);
                                    // プリンタに印刷
                                    Report.PrintToPrinter(0, false, 0, 0);
                                }
                                break;

                            case EPrintMode.PDF:
                                if (plbl.ShowMessage("Q204") != DialogResult.Yes)
                                {
                                    return;
                                }
                                string filePath = "";
                                if (!ShowSaveFileDialog(InProgramNM, out filePath))
                                {
                                    return;
                                }

                                // 印字データをセット
                                Report.SetDataSource(dtPrintData1);
                                Report.Refresh();

                                bool result = OutputPDF(filePath, Report);

                                //PDF出力が完了しました。
                                plbl.ShowMessage("I202");

                                break;
                            }

                            plbl.D_Picking_Update(dtPrintData1.Rows[0]["PickingNO"].ToString(), InOperatorCD);
                        }

                        if (chkUnissued2.Checked == true && dtPrintData2.Rows.Count > 0)
                        {
                            DialogResult       ret;
                            PickingList_Report Report2 = new PickingList_Report();

                            switch (PrintMode)
                            {
                            case EPrintMode.DIRECT:



                                //Q208 印刷します。”はい”でプレビュー、”いいえ”で直接プリンターから印刷します。
                                ret = plbl.ShowMessage("Q208");
                                if (ret == DialogResult.Cancel)
                                {
                                    return;
                                }
                                Report2.PrintOptions.PaperSize        = CrystalDecisions.Shared.PaperSize.PaperA4;
                                Report2.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;

                                // 印字データをセット
                                Report2.SetDataSource(dtPrintData2);
                                Report2.Refresh();
                                Report2.SetParameterValue("txtSouko", cboSouko.SelectedValue.ToString() + "  " + cboSouko.Text);
                                Report2.SetParameterValue("pickingNO", dtPrintData2.Rows[0]["PickingNO"].ToString());

                                if (ret == DialogResult.Yes)
                                {
                                    //プレビュー
                                    var previewForm = new Viewer();
                                    previewForm.CrystalReportViewer1.ShowPrintButton = true;
                                    previewForm.CrystalReportViewer1.ReportSource    = Report2;
                                    //previewForm.CrystalReportViewer1.Zoom(1);

                                    previewForm.ShowDialog();
                                }
                                else
                                {
                                    int marginLeft = 360;
                                    CrystalDecisions.Shared.PageMargins margin = Report2.PrintOptions.PageMargins;
                                    margin.leftMargin   = marginLeft;   // mmの指定をtwip単位に変換する
                                    margin.topMargin    = marginLeft;
                                    margin.bottomMargin = marginLeft;   //mmToTwip(marginLeft);
                                    margin.rightMargin  = marginLeft;
                                    Report2.PrintOptions.ApplyPageMargins(margin);
                                    // プリンタに印刷
                                    Report2.PrintToPrinter(0, false, 0, 0);
                                }
                                break;

                            case EPrintMode.PDF:
                                if (plbl.ShowMessage("Q204") != DialogResult.Yes)
                                {
                                    return;
                                }
                                string filePath = "";
                                if (!ShowSaveFileDialog(InProgramNM, out filePath))
                                {
                                    return;
                                }

                                // 印字データをセット
                                Report2.SetDataSource(dtPrintData2);
                                Report2.Refresh();

                                bool result = OutputPDF(filePath, Report2);

                                //PDF出力が完了しました。
                                plbl.ShowMessage("I202");

                                break;
                            }

                            plbl.D_Picking_Update(dtPrintData2.Rows[0]["PickingNO"].ToString(), InOperatorCD);
                        }

                        if (chkReissued1.Checked == true && dtPrintData3.Rows.Count > 0)
                        {
                            DialogResult ret;
                            PickingList_Motori_Report Reportm = new PickingList_Motori_Report();

                            switch (PrintMode)
                            {
                            case EPrintMode.DIRECT:



                                //Q208 印刷します。”はい”でプレビュー、”いいえ”で直接プリンターから印刷します。
                                ret = plbl.ShowMessage("Q208");
                                if (ret == DialogResult.Cancel)
                                {
                                    return;
                                }
                                Reportm.PrintOptions.PaperSize        = CrystalDecisions.Shared.PaperSize.PaperA4;
                                Reportm.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;

                                // 印字データをセット
                                Reportm.SetDataSource(dtPrintData3);
                                Reportm.Refresh();
                                Reportm.SetParameterValue("txtSouko", cboSouko.SelectedValue.ToString() + "  " + cboSouko.Text);
                                Reportm.SetParameterValue("pickingNO", dtPrintData3.Rows[0]["PickingNO"].ToString());

                                if (ret == DialogResult.Yes)
                                {
                                    //プレビュー
                                    var previewForm = new Viewer();
                                    previewForm.CrystalReportViewer1.ShowPrintButton = true;
                                    previewForm.CrystalReportViewer1.ReportSource    = Reportm;

                                    previewForm.ShowDialog();
                                }
                                else
                                {
                                    int marginLeft = 360;
                                    CrystalDecisions.Shared.PageMargins margin = Reportm.PrintOptions.PageMargins;
                                    margin.leftMargin   = marginLeft;   // mmの指定をtwip単位に変換する
                                    margin.topMargin    = marginLeft;
                                    margin.bottomMargin = marginLeft;   //mmToTwip(marginLeft);
                                    margin.rightMargin  = marginLeft;
                                    Reportm.PrintOptions.ApplyPageMargins(margin);
                                    // プリンタに印刷
                                    Reportm.PrintToPrinter(0, false, 0, 0);
                                }
                                break;

                            case EPrintMode.PDF:
                                if (plbl.ShowMessage("Q204") != DialogResult.Yes)
                                {
                                    return;
                                }
                                string filePath = "";
                                if (!ShowSaveFileDialog(InProgramNM, out filePath))
                                {
                                    return;
                                }

                                // 印字データをセット
                                Reportm.SetDataSource(dtPrintData3);
                                Reportm.Refresh();

                                bool result = OutputPDF(filePath, Reportm);

                                //PDF出力が完了しました。
                                plbl.ShowMessage("I202");

                                break;
                            }


                            plbl.D_Picking_Update(dtPrintData3.Rows[0]["PickingNO"].ToString(), InOperatorCD);
                        }

                        if (chkReissued2.Checked == true && dtPrintData4.Rows.Count > 0)
                        {
                            DialogResult ret;
                            PickingList_Motori_Report Reportm2 = new PickingList_Motori_Report();

                            switch (PrintMode)
                            {
                            case EPrintMode.DIRECT:



                                //Q208 印刷します。”はい”でプレビュー、”いいえ”で直接プリンターから印刷します。
                                ret = plbl.ShowMessage("Q208");
                                if (ret == DialogResult.Cancel)
                                {
                                    return;
                                }
                                Reportm2.PrintOptions.PaperSize        = CrystalDecisions.Shared.PaperSize.PaperA4;
                                Reportm2.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;

                                // 印字データをセット
                                Reportm2.SetDataSource(dtPrintData4);
                                Reportm2.Refresh();
                                Reportm2.SetParameterValue("txtSouko", cboSouko.SelectedValue.ToString() + "  " + cboSouko.Text);
                                Reportm2.SetParameterValue("pickingNO", dtPrintData4.Rows[0]["PickingNO"].ToString());

                                if (ret == DialogResult.Yes)
                                {
                                    //プレビュー
                                    var previewForm = new Viewer();
                                    previewForm.CrystalReportViewer1.ShowPrintButton = true;
                                    previewForm.CrystalReportViewer1.ReportSource    = Reportm2;

                                    previewForm.ShowDialog();
                                }
                                else
                                {
                                    int marginLeft = 360;
                                    CrystalDecisions.Shared.PageMargins margin = Reportm2.PrintOptions.PageMargins;
                                    margin.leftMargin   = marginLeft;   // mmの指定をtwip単位に変換する
                                    margin.topMargin    = marginLeft;
                                    margin.bottomMargin = marginLeft;   //mmToTwip(marginLeft);
                                    margin.rightMargin  = marginLeft;
                                    Reportm2.PrintOptions.ApplyPageMargins(margin);
                                    // プリンタに印刷
                                    Reportm2.PrintToPrinter(0, false, 0, 0);
                                }
                                break;

                            case EPrintMode.PDF:
                                if (plbl.ShowMessage("Q204") != DialogResult.Yes)
                                {
                                    return;
                                }
                                string filePath = "";
                                if (!ShowSaveFileDialog(InProgramNM, out filePath))
                                {
                                    return;
                                }

                                // 印字データをセット
                                Reportm2.SetDataSource(dtPrintData4);
                                Reportm2.Refresh();

                                bool result = OutputPDF(filePath, Reportm2);

                                //PDF出力が完了しました。
                                plbl.ShowMessage("I202");

                                break;
                            }

                            plbl.D_Picking_Update(dtPrintData4.Rows[0]["PickingNO"].ToString(), InOperatorCD);
                        }
                    }
                }
                finally
                {
                }
            }
        }
Ejemplo n.º 7
0
        protected override void PrintSec()
        {
            DataTable dtForUpdate = null;

            try
            {
                // レコード定義を行う
                DataTable table = CheckData(out dtForUpdate);

                if (table == null)
                {
                    return;
                }
                //xsdファイルを保存します。

                //DB ---→ xsd ----→ クリスタルレポート

                //というデータの流れになります
                //table.TableName = ProID;
                //table.WriteXmlSchema("DataTable" + ProID + ".xsd");

                //①保存した.xsdはプロジェクトに追加しておきます。
                DialogResult      ret;
                SeikyuuSho_Report Report = new SeikyuuSho_Report();

                switch (PrintMode)
                {
                case EPrintMode.DIRECT:
                    if (StartUpKBN == "1")
                    {
                        ret = DialogResult.No;
                    }
                    else
                    {
                        //Q208 印刷します。”はい”でプレビュー、”いいえ”で直接プリンターから印刷します。
                        ret = bbl.ShowMessage("Q208");
                        if (ret == DialogResult.Cancel)
                        {
                            return;
                        }
                    }

                    // 印字データをセット
                    Report.SetDataSource(table);
                    Report.Refresh();

                    if (ret == DialogResult.Yes)
                    {
                        //プレビュー
                        var previewForm = new Viewer();
                        previewForm.CrystalReportViewer1.ShowPrintButton = true;
                        previewForm.CrystalReportViewer1.ReportSource    = Report;
                        previewForm.ShowDialog();
                    }
                    else
                    {
                        int marginLeft = 360;
                        CrystalDecisions.Shared.PageMargins margin = Report.PrintOptions.PageMargins;
                        margin.leftMargin   = marginLeft;   // mmの指定をtwip単位に変換する
                        margin.topMargin    = marginLeft;
                        margin.bottomMargin = marginLeft;   //mmToTwip(marginLeft);
                        margin.rightMargin  = marginLeft;
                        Report.PrintOptions.ApplyPageMargins(margin);
                        // プリンタに印刷
                        Report.PrintToPrinter(0, false, 0, 0);
                    }
                    break;

                case EPrintMode.PDF:
                    if (bbl.ShowMessage("Q204") != DialogResult.Yes)
                    {
                        return;
                    }
                    string filePath = "";
                    if (!ShowSaveFileDialog(InProgramNM, out filePath))
                    {
                        return;
                    }

                    // 印字データをセット
                    Report.SetDataSource(table);
                    Report.Refresh();

                    bool result = OutputPDF(filePath, Report);

                    //PDF出力が完了しました。
                    bbl.ShowMessage("I202");

                    break;
                }

                //更新処理
                //tableの請求番号だけ
                mibl.D_Billing_Update(dse, dtForUpdate, InOperatorCD, InPcID);
            }
            finally
            {
                DeleteExclusive(dtForUpdate);
            }

            //更新後画面そのまま
            detailControls[1].Focus();
        }
Ejemplo n.º 8
0
        /// <summary>
        ///
        /// </summary>
        protected override void PrintSec()
        {
            // レコード定義を行う
            DataTable table = CheckData(out DataTable dtForUpdate);

            try
            {
                if (table == null)
                {
                    return;
                }
                //xsdファイルを保存します。

                //DB ---→ xsd ----→ クリスタルレポート

                //というデータの流れになります
                //table.TableName = ProID;
                //table.WriteXmlSchema("DataTable" + ProID + ".xsd");

                //①保存した.xsdはプロジェクトに追加しておきます。
                DialogResult      ret;
                Hacchuusho_Report Report = new Hacchuusho_Report();

                switch (PrintMode)
                {
                case EPrintMode.DIRECT:
                    if (StartUpKBN == "1")
                    {
                        ret = DialogResult.No;
                    }
                    else
                    {
                        //Q202 印刷します。”はい”でプレビュー、”いいえ”で直接プリンターから印刷します。
                        ret = bbl.ShowMessage("Q202");
                        if (ret == DialogResult.Cancel)
                        {
                            return;
                        }
                    }

                    // 印字データをセット
                    Report.SetDataSource(table);
                    if ((int)table.Rows[0]["InsatuShuruiKBN"] != 3)
                    {
                        ((CrystalDecisions.CrystalReports.Engine.LineObject)Report.ReportDefinition.ReportObjects["line1"]).LineColor = Color.White;
                        ((CrystalDecisions.CrystalReports.Engine.LineObject)Report.ReportDefinition.ReportObjects["line2"]).LineColor = Color.White;
                        ((CrystalDecisions.CrystalReports.Engine.LineObject)Report.ReportDefinition.ReportObjects["line3"]).LineColor = Color.White;
                        ((CrystalDecisions.CrystalReports.Engine.LineObject)Report.ReportDefinition.ReportObjects["line4"]).LineColor = Color.White;
                        ((CrystalDecisions.CrystalReports.Engine.LineObject)Report.ReportDefinition.ReportObjects["line6"]).LineColor = Color.White;
                        ((CrystalDecisions.CrystalReports.Engine.LineObject)Report.ReportDefinition.ReportObjects["line8"]).LineColor = Color.White;
                    }
                    Report.Refresh();

                    if (ret == DialogResult.Yes)
                    {
                        //プレビュー
                        var previewForm = new Viewer();
                        previewForm.CrystalReportViewer1.ShowPrintButton = true;
                        previewForm.CrystalReportViewer1.ReportSource    = Report;
                        previewForm.ShowDialog();
                    }
                    else
                    {
                        int marginLeft = 360;
                        CrystalDecisions.Shared.PageMargins margin = Report.PrintOptions.PageMargins;
                        margin.leftMargin   = marginLeft;   // mmの指定をtwip単位に変換する
                        margin.topMargin    = marginLeft;
                        margin.bottomMargin = marginLeft;   //mmToTwip(marginLeft);
                        margin.rightMargin  = marginLeft;
                        Report.PrintOptions.ApplyPageMargins(margin);
                        // プリンタに印刷
                        Report.PrintToPrinter(0, false, 0, 0);
                    }
                    break;

                case EPrintMode.PDF:
                    if (bbl.ShowMessage("Q204") != DialogResult.Yes)
                    {
                        return;
                    }
                    string filePath = "";
                    if (!ShowSaveFileDialog(InProgramNM, out filePath))
                    {
                        return;
                    }

                    // 印字データをセット
                    Report.SetDataSource(table);
                    Report.Refresh();

                    bool result = OutputPDF(filePath, Report);

                    //PDF出力が完了しました。
                    bbl.ShowMessage("I202");

                    break;
                }

                //ログ出力
                L_Log_Entity le = new L_Log_Entity();
                le.InsertOperator = this.InOperatorCD;
                le.Program        = this.InProgramID;
                le.PC             = this.InPcID;
                le.OperateMode    = null;
                le.KeyItem        = this.ScHacchuuNO.TxtCode.Text;
                hsbl.L_Log_Insert(le);

                if ((int)table.Rows[0]["InsatuShuruiKBN"] == 4)
                {
                    //更新処理
                    hsbl.PRC_Hacchuusho_Register(this.InOperatorCD, this.CboStoreCD.SelectedValue.ToString(), this.ScStaff.TxtCode.Text, this.ScVendor.TxtCode.Text, this.ScHacchuuNO.TxtCode.Text);
                }
            }
            finally
            {
                DeleteExclusive(dtForUpdate);
            }

            //更新後画面そのまま
            detailControls[1].Focus();
        }