2010-07-09 5 views
3

SQL 쿼리에서 ReportViewer에 대한 보고서를 디자인하는 방법이 있는지 궁금합니다. 그래서 SQL 쿼리를 통해 보고서를 만들고 디자이너에서 보고서를 디자인하는 데 필요한 모든 데이터를 얻었습니까?DataTable에서 ReportViewer보고

저는 ReportViewer를 처음 사용하기 때문에 매우 혼란 스럽습니다. 지금은 마법사에서 DataSet을 채울 수있는 것을 볼 수 있지만 SQL 쿼리를 던져서 디자인하는 방법은 없습니다.

DataGridView를 사용해야하거나 사용할 수 있습니까? 인쇄/내보내기 지원 때문에 보고서 뷰어를 사용하고 싶습니다. 주제에 관한 자료가 있습니까?

답변

1

LocalReport Class (reportViewer.LocalReport)을 사용 중이며 SSRS가 아니고 (모든 것을 클릭 할 수 있음) 링크에 샘플이 있습니다.

ReportDataSource Class에는 DataTable 개체를 허용하는 생성자가 있습니다.

보고서를 디자인하고 데이터 집합을 RDL 파일에 추가하기 만하면됩니다. 이 같은 XML로 삽입 데이터 세트 :

편집

<DataSources> 
    <DataSource Name="MyDataSource"> 
     <ConnectionProperties> 
     <ConnectString /> 
     <DataProvider>SQL</DataProvider> 
     </ConnectionProperties> 
    </DataSource> 
    ... 
</DataSources> 

<DataSets> 
    <DataSet Name="MyDataSet"> 
     <Query> 
     <CommandText>MyDataSet</CommandText> 
     <DataSourceName>MyDataSource</DataSourceName> 
     </Query> 
     <Fields> 
     <Field Name="Id"> 
      <DataField>ID</DataField> 
     </Field> 
     <Field Name="SomeOtherField"> 
      <DataField>SOME_OTHER_FIELD</DataField> 
     </Field> 
     </Fields> 
    </DataSet> 
</DataSets> 
1

첫째, 당신이 로컬 보고서 또는 서버 보고서 (SQL 서버 리포팅 서비스)를 사용하는 여부에 따라 달라집니다. 둘 다 ReportViewer 컨트롤 내에 표시 될 수 있습니다.

서버 보고서의 경우 간단합니다. 보고서에는 데이터 원본이 포함되어 있으며 SQL 문이나 기존 저장 프로 시저를 사용하도록 선택할 수 있습니다.

지역 보고서의 경우 다소 어려워집니다. 데이터가 포함 된 입력 된 데이터 세트를 디자인해야합니다. 이것은 평소와 같이 (SQL 명령, 저장 프로 시저 등) 채울 수 있습니다. 그런 다음이 데이터 세트의 인스턴스를 보고서의 데이터 소스에 할당합니다.

서버 보고서를 사용하여 데이터를 필터링 할 수 있지만 로컬 보고서를 사용할 때는 필터링 기능을 직접 작성해야합니다.

관련 문제