2010-07-09 78 views
3

我想知道是否有方法從SQL查詢設計ReportViewer的報告。因此,從SQL查詢中,我可以獲得所需的所有數據以製作報告,然後在設計器中設計報告。從DataTable的ReportViewer報告

我對ReportViewer非常新,我很困惑。現在我可以看到我可以從嚮導填充DataSet,但是據我所見,沒有辦法在那裏拋出SQL查詢,然後從中進行設計。

是我想甚至可能或將不得不使用DataGridView?由於打印/導出支持,我​​確實想使用reportviewer。有沒有關於這個問題的任何文獻?

回答

1

如果您使用的是LocalReport ClassreportViewer.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 Server報表服務)。兩者都可以在ReportViewer控件中顯示。

對於服務器報告,事情很簡單。該報告包含數據源,您可以選擇使用SQL語句或現有的存儲過程。

對於本地報告來說,情況有點困難。你必須設計一個包含你的數據的類型化數據集。這可以像平常一樣填充任何東西(SQL命令,存儲過程等)。然後,您會將此數據集的實例分配給報表的數據源。

請注意,儘管服務器報告允許您過濾數據,但您在使用本地報告時必須自己編寫一些過濾功能。

相關問題