встраивание данных в отчет RDL

я хочу добавить возможности создания отчетов в свое программное обеспечение и решил использовать RDL и локальное средство просмотра отчетов (WinForms)

Я читал несколько хороших HOW TO (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>&lt;Query&gt; &lt;ElementPath&gt;Root /Stock {@High (Float), @Low (Float), @Close (Float), @Open(Float), @StockPriceDate(Date)} &lt;/ElementPath&gt; &lt;XmlData&gt; &lt;Root&gt; &lt;Stock High="30.4113833868661" Low="29.9705661418443" Close="30.2016959908158" Open="30.2323120165209" StockPriceDate="2008-01-13T00:00:00"/&gt;

...

Проблема в том, что когда я использую локальное средство просмотра отчетов, мне нужно восстановить набор данных из встроенных данных, и я не знаю, как это сделать:

_reportViewer.LocalReport.DataSources.Add(new ReportDataSource(???))

в случае успеха это гарантирует, что как при работе в режиме сервера, так и в режиме клиента мои данные всегда будут доступны, а отчет будет отображаться

также есть ли лучший способ, чем встроенный XML, для сохранения данных?

Спасибо, мош.


person moshe    schedule 14.01.2014    source источник


Ответы (1)


ReportDataSource имеет конструктор, который принимает имя источника данных и IEnumarable с данными http://msdn.microsoft.com/en-us/library/dd461468(v=vs.100).aspx

Просто передайте любые данные, и rdlc их отобразит. Взгляните на следующие вопросы:

Связывание отчета rdlc с бизнес-объектом

person SuperCuke    schedule 31.01.2014