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

            rpt.Site = this.Site;
            return(rpt);
        }
        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();
        }