public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { Hacchuusho_Report rpt = new Hacchuusho_Report(); rpt.Site = this.Site; return(rpt); }
/// <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(); }