Crystal Reports XI PrintToPrinter“缺少参数值”

时间:2012-07-05 21:13:57

标签: printing parameters crystal-reports reporting

我正在研究Crystal报表(在VB应用程序中运行的Crystal XI)的问题,在尝试直接打印报表时会收到零星的“缺失参数值”错误。以下是该问题的摘要:

  1. 用户通过报告菜单运行报告(一切正常)
  2. 用户点击“打印预览”(一切正常)
  3. 用户点击“打印”(应该将文档直接发送到打印机,但有时会丢失参数错误)
  4. 以下是代码启动时的内容:

        crystalReportViewer.MdiParent = parent
        crystalReportViewer.Show()
    
        Dim report As ReportDocument = CType(crystalReportViewer.ReportSource, ReportDocument)
    
        report.PrintToPrinter(1, False, 0, 0)
        crystalReportViewer.Close()
        crystalReportViewer.Dispose()
    

    根据我一直在谷歌搜索,我想出了这个代码:

        crystalReportViewer.MdiParent = parent
        crystalReportViewer.Show()
    
        Dim report As ReportDocument = CType(crystalReportViewer.ReportSource, ReportDocument)
    
        'here are my attempts to get it to work
        Dim pf As ParameterFields = report.ParameterFields
        report.PrintOptions.PrinterName = "Microsoft XPS Document Writer"
    
        report.PrintToPrinter(1, False, 0, 0)
        crystalReportViewer.Close()
        crystalReportViewer.Dispose()
    

    我对如何解决这个问题的想法很不满意。有没有其他人遇到这个?

4 个答案:

答案 0 :(得分:1)

启动代码:您可能在报告中有一些空参数。

搜索代码后:您有这一行:

Dim pf As ParameterFields = report.ParameterFields

您有一个参数,并且您没有设置任何值。

对于两者,请使用:

//[C#]
report.setParameterValue(parameterName, parameterValue);

答案 1 :(得分:1)

这很简单。使用“ printtoprinter”之前,请确保报告中的所有参数均已填充并引发了数据。我已经解决了。

答案 2 :(得分:0)

据我所知,这看起来像Crystal中的一个问题。我找不到修复程序,所以我只是使用解决方法,直到修复程序可用(生成报告然后手动打印)。

答案 3 :(得分:0)

首先,您需要从工具箱添加 PrintDialog 然后添加以下代码 button_click_event

<?php
$title = $_GET['title'];
?>

<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h4 class="modal-title" id="myModalLabel"><?php echo $title;?></h4>
</div>
<div class="modal-body">
    <iframe style="display:block;" frameborder="0"></iframe>
</div>
<div class="modal-footer">

</div>

这会将打印直接发送到“Microsoft XPS Document Writer”。如果你发现这个有用的话,请投票