2016-07-19 3 views

답변

0

이것은 Windows Forms에서 작동합니다.

Private Sub FmReporViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     Dim exportOption1 As String = "Excel" 
     Dim exportOption2 As String = "Word" 

     Dim extension1 As RenderingExtension = ReportViewer.LocalReport.ListRenderingExtensions().ToList().Find(Function(x) x.Name.Equals(exportOption1, StringComparison.CurrentCultureIgnoreCase)) 
     If extension1 IsNot Nothing Then 
      Dim fieldInfo As System.Reflection.FieldInfo = extension1.GetType().GetField("m_isVisible", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic) 
      fieldInfo.SetValue(extension1, False) 
     End If 
     Dim extension2 As RenderingExtension = ReportViewer.LocalReport.ListRenderingExtensions().ToList().Find(Function(x) x.Name.Equals(exportOption2, StringComparison.CurrentCultureIgnoreCase)) 
     If extension2 IsNot Nothing Then 
      Dim fieldInfo As System.Reflection.FieldInfo = extension2.GetType().GetField("m_isVisible", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic) 
      fieldInfo.SetValue(extension2, False) 
     End If 

    End Sub 
+0

안녕, 그것은 한 가지'ReportViewer.LocalReport.ListRenderingExtensions()를 작동하지 않습니다. ToList(). (함수 (x)를 x.Name.Equals (exportOption1, StringComparison.CurrentCultureIgnoreCase))'인상 찾기 이 오류 : 오류 \t BC30469 \t 비공유 회원에 대한 참조는 개체 참조가 필요합니다. \t, 그래서 ** reportviewer1 ** 웹 컨트롤 int의 이름을 변경합니다. 어떤 아이디어? – KillemAll

+0

ReportViewer는 양식의 ReportViewer 개체 이름입니다.이 경우 이름은 reportviewer1입니다. 그러나 이제는 WebForms를위한 코드라고 할 수 있습니다. 코드가 도움이 될만한 것은 아닙니다. – Rocoso

+0

그것의 webforms, .. 그것은 작동하지 않는다. .. 다른 생각? – KillemAll

관련 문제