2014-12-01 3 views
10

로컬 SQL Server Reporting Services 보고서 (.rdlc 파일)를 만들고이 보고서를 코드에서 생성 한 일부 데이터 집합에 연결하려고합니다 (직접 연결하지 마십시오. SQL Server 연결). VS2005에서 코드 클래스의 Reporting Services 디자이너에 데이터 제공

나는 기준의 다양한 세트 IList<T>을 반환 일부 인스턴스 메소드와 ReportDataProvider 클래스를 생성 -하지만 난 비주얼 스튜디오 2013

를 내부보고 서비스 디자이너에 표시 방법을 제공하는 데이터를 만들 수있는 방법을 찾을 수없는 것

Report Data 탐색기 창의 Datasets 노드에서 Add DataSet을 클릭 한 후 나타나는 대화 상자를 보면 수십 개의 클래스가 표시되지만 데이터 공급자 클래스는 표시되지 않습니다.

enter image description here

내가 알 필요가 특별한 아무것도 (클래스 static은? 일부 속성을 장식 만든다?) 위해 가능 데이터 소스의 드롭 다운 목록에 표시하는 있습니까? 나는 여러 가지 일을 시도했지만 이것이 제대로 작동하도록하는 방법을 찾지 못했습니다 ...

답변

3

저는 몇 가지 조사를하고 수업을 추가하는 방법을 시도합니다. 불행히도 그것은 당신이 이 디자이너에서 정적 클래스을 볼 수 없다는 사실을 알게됩니다. 나는 여러 가지 방법을 시도했지만 운은 없었습니다. 비 정적 클래스에 대한

이 매뉴얼도 IList 같은 Interfaces과 나를 위해 모든 시간을 작동하지만 난 여기를 대변하지 않습니다 :

  1. 하는 프로젝트에서 당신의 데이터 보고서 클래스와 네임 스페이스를 사용할 수 있는지 확인 .rdlc 파일. 참조를 추가해야 할 수 있습니다.
  2. 데이터 보고서 클래스 작성 및 솔루션 재 작성.
  3. VS에서 .rdlc 파일을 닫았다가 다시 엽니 다.

    using System.Collections.Generic; 
    
    namespace YourReportNamespace 
    { 
        public class ReportClass 
        { 
         public List<string> TestReportData() 
         { 
          return new List<string>(); 
         } 
         public static List<string> StaticTestReportData() 
         { 
          return new List<string>(); 
         } 
        } 
    
    
        public class ReportWithFieldsClass 
        { 
         private List<string> Data = new List<string>(); 
    
         public List<string> TestReportData() 
         { 
          return Data; 
         } 
    
         public List<string> TestReportData2() 
         { 
          return Data; 
         } 
    
         public static List<string> StaticTestReportData() 
         { 
          return new List<string>(); 
         } 
        } 
    
        public static class ReportWithFieldsStaticClass //This class will not appear 
        { 
         private static List<string> Data = new List<string>(); 
    
         public static List<string> StaticTestReportDataFromField() 
         { 
          return Data; 
         } 
         public static List<string> StaticTestReportData() 
         { 
          return new List<string>(); 
         } 
        } 
    } 
    

    이 내가 수동을 통과 한 후 내가 디자이너에서 무엇을 가지고 있습니다 :

나는이 내 수업이다 VS 2013 궁극적 인 업데이트 2.

를 사용

enter image description here

+0

귀하의 노력에 감사드립니다 - 불행히도, 그것은 제가 시도한 것입니다. 그리고 그것은 절대로 효과가 없습니다. 클래스 또는 메소드를 정적으로 만들지 않든 상관없이 보고서 또는 다른 (참조 된) 어셈블리와 동일한 어셈블리에 넣을 지 상관없이 - 유효한 클래스 인 'DataSource'는 언급하지 않습니다. .... –

+1

내가 주위를 검색 할 때,이 [답변] (http://stackoverflow.com/a/4888113/1849444) 찾을 수 있습니다. Maby이게 당신 문제에 대한 해답 이니? 귀하가 제네릭 유형을 사용하는 한. –

0

비슷한 문제가있었습니다. 오류없이 빌드를 얻으 려한다면 My 네임 스페이스가 데이터 소스에서 선택할 수있는 것으로 나타납니다.