我想補充報告運行能力,我的軟件,並已決定去與RDL和當地的報表查看器(的WinForms)嵌入數據報告
我一直在閱讀一些好的密技(MSDN和gotreportviewer)和文章和我已成功完成以下操作:
使用XSD(http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition)將最新方案轉換並在運行時生成顯示在報表查看器中的rdl文件。
問題是,因爲我沒有使用服務器,並且在本地模式下沒有任何實際連接,因爲數據集在運行時交付,所以數據不是持久的。
我想以這樣的方式嵌入數據,唯一需要的是RDL(實際上它是RDLC,因爲它處於本地模式)。
我發現有一個XML內嵌方式:
[來源:StockChartsRS2008R2.rdl]
...
<DataSet Name="AWDataSet"> <Query> <DataSourceName>AdventureWorksOffline</DataSourceName> <CommandText><Query> <ElementPath>Root /Stock {@High (Float), @Low (Float), @Close (Float), @Open(Float), @StockPriceDate(Date)} </ElementPath> <XmlData> <Root> <Stock High="30.4113833868661" Low="29.9705661418443" Close="30.2016959908158" Open="30.2323120165209" StockPriceDate="2008-01-13T00:00:00"/>
...
的問題是,當我使用本地報表查看器,我需要重新生成數據集從嵌入數據 - 我不知道該怎麼做:
_reportViewer.LocalReport.DataSources.Add(new ReportDataSource(???))
如果成功他向我保證,都與服務器模式和客戶端我的數據工作將始終可用,該報告顯示
也有比XML嵌入到持久化數據更好的辦法?
謝謝,mosh。