2

レポートを印刷するか、レポートをプレビューするかの2つのオプションがあるアプリケーションがあります。レポートを印刷するための次のコードがあります-

FCPMS.Reports.rptPanelStudy crtrptPanelStudy = new FCPMS.Reports.rptPanelStudy();
crtrptPanelStudy.FileName = tReportFileName; -(refers to the file location on the  computer)
crtrptPanelStudy.DataDefinition.FormulaFields["PANELNUM"].Text = "'5'";
foreach (Table tblTable in crtrptPanelStudy.Database.Tables)
{
    tiInfo = tblTable.LogOnInfo;
    tiInfo.ConnectionInfo = ciConnection;
    tblTable.ApplyLogOnInfo(tiInfo);
}

crtrptPanelStudy.PrintToPrinter(1, false, 0, 0);

これは正しく機能し、レポートを印刷します。しかし、このレポートでプリンタープレビューを開くだけの同様のコードを見つけるのに苦労しています。誰かが私がこれを行う方法を知っていますか?必要なのは、レポートを実際に印刷せずにポップアップするプリンタープレビューだけです。どんな助けでもいただければ幸いです。

印刷ダイアログも使ってみました-

PrintPreviewDialog printpreview = new PrintPreviewDialog();
printpreview.Document = crtrptFlowRangeSummary;
printpreview.ShowDialog(); 

しかし、2行目でこのエラーが発生しました

FCPMS.Reports.rptFlowRangeSummaryエラー35タイプを暗黙的に変換できませんSystem.Drawing.Printing.PrintDocument

4

1 に答える 1

0

crtrptFlowRangeSummary をどのように実装または宣言しているかはわかりませんが、以下のコードを試すことができます。

これは、イベントがこのように宣言されていることも前提としています

private void CrystalReportPrintPreviewForm_Load(object sender, EventArgs e)
{
    if(crtrptFlowRangeSummary !=null)
    crystalReportViewer1.ReportSource = crtrptFlowRangeSummary;
}


CrystalReportPrintPreviewForm crystalReportPrintPreview = 
       new CrystalReportPrintPreviewForm(crtrptFlowRangeSummary);
crystalReportPrintPreview.ShowDialog();
于 2012-08-17T13:36:14.060 に答える