设定ReportViewer显示Reporting Service 报表时的可导出文件类型

设定ReportViewer显示Reporting Service 报表时的可导出文件类型

 

在网上找到的,试了下是可以的,记录下

 

先引用下Microsoft.ReportingServices.Interfaces.DLL

 

在页面上添加一个ReportViewer,名字为 ReportViewer1

Imports Microsoft.Reporting.WebForms
Imports System.Reflection 
Imports Microsoft.SqlServer.ReportingServices2005.Execution
 
    Protected Sub ReportViewer1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles ReportViewer1.PreRender
        Dim rw As ReportViewer = CType(sender, ReportViewer)
        If (rw Is Nothing) Then
            Return
        End If
        rw.ServerReport.ListRenderingExtensions()
        'Microsoft.SqlServer.ReportingServices2005()
        'dim renders = from r in rw.ServerReport.ListRenderingExtensions() where string.Compare(r.Name, "Excel", true) != 0 Select r
        'for each (dim r in renders)
        '    HideRender(r)
        'Next
        For Each extension As RenderingExtension In rw.ServerReport.ListRenderingExtensions()
            If extension.Name <> "PDF" And extension.Name <> "EXCEL" Then
                HideRender(extension)
            End If
        Next
    End Sub
 
    Private Sub HideRender(ByVal re As Microsoft.Reporting.WebForms.RenderingExtension)
        'Dim renderType As Type = re.GetType()
        'Dim fieldInfo As System.Reflection.FieldInfo = renderType.GetField("m_serverExtension", BindingFlags.NonPublic Or BindingFlags.Instance)
        'Dim extension As Object = fieldInfo.GetValue(re)
        'Dim extensionType As Type = extension.GetType()
        'Dim propertyInfo As PropertyInfo = extensionType.GetProperty("Visible")
        'propertyInfo.SetValue(extension, False, Nothing)
        Dim info As FieldInfo = re.GetType().GetField("m_serverExtension", BindingFlags.NonPublic Or BindingFlags.Instance)
        If (Not info Is Nothing) Then
            'Dim rsExtension As Extension = CType(info.GetValue(re), Extension)
            'If (Not rsExtension Is Nothing) Then
            '    rsExtension.Visible = False
            'End If
            If (Not CType(info.GetValue(re), Extension) Is Nothing) Then
                CType(info.GetValue(re), Extension).Visible = False
            End If
        End If
    End Sub


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值