【问题标题】:How To: Change Image visibility on rdlc export如何:更改 rdlc 导出时的图像可见性
【发布时间】:2010-09-24 17:15:50
【问题描述】:

我在 rdlc 报告中有图像。 在报告中,我将可见性设置为 false 我希望当我导出为 PDF 或 EXCEL 将图像可见性设置为 true。

  • 我该怎么做?
  • 是捕获导出事件的方法吗?
  • 我不想创建自定义“导出”。

谢谢……

【问题讨论】:

    标签: rdlc


    【解决方案1】:

    我发现如何做到这一点的唯一方法是创建一个自定义的“导出”函数……这真的很简单。

    第 1 步:在您的报告中创建一个名为“ShowImage”的参数。我使用了String的数据类型,隐藏了提示并设置了默认值“False”。这样,当报表首次在您页面上的报表查看器中运行时,它不会被隐藏。

    第 2 步:将图像的可见性属性更改为具有以下内容的表达式:

    =CBool(Parameters!ShowImage.Value)
    

    第 3 步:隐藏报表查看器上的导出控制。这是我的例子:

    <rsweb:ReportViewer ID="ReportViewer1"  runat="server" ShowExportControls="false" Font-Names="Verdana" Font-Size="8pt">
            <LocalReport ReportPath="Report1.rdlc" >
            </LocalReport>
        </rsweb:ReportViewer>
    

    第 4 步:向您的页面添加一个按钮并编写自定义导出代码。您需要确保设置您在第 1 步中创建的参数。

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    
        'Create ReportViewer
        Dim viewer As New Microsoft.Reporting.WebForms.ReportViewer()
        Dim p(0) As Microsoft.Reporting.WebForms.ReportParameter
    
        p(0) = New Microsoft.Reporting.WebForms.ReportParameter("ShowImage", "True")
    
        viewer.LocalReport.ReportPath = Server.MapPath("Report1.rdlc")
        viewer.LocalReport.SetParameters(p)
    
        'Export to PDF
        Dim reportContent As Byte() = viewer.LocalReport.Render("PDF", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing)
    
        'Return PDF
        Me.Response.Clear()
        Me.Response.ContentType = "application/pdf"
        Me.Response.AddHeader("Content-disposition", "attachment; filename=Report.pdf")
        Me.Response.BinaryWrite(reportContent)
        Me.Response.End()
    
    End Sub
    

    就是这样。请问,您为什么不想创建自定义导出事件?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-04
      • 2014-08-15
      • 2014-07-04
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多