Нужно добавлять дополнительные источники данных в RDLC

StackOverflow https://stackoverflow.com/questions/3328045

Вопрос

Мне нужно добавить второй канал DataTable из основного набора набора набора нашего приложения в отчет, но не повезло.

У нас есть несколько простых локальных отчетов в файлах RDLC, каждый с одним генеракодицетагкодом на основе представления в нашем приложении DB.Мне нужно улучшить одну из отчетов, чтобы добавить информацию из другой таблицы.Эта другая таблица определяется в том же основном генеракодичестве, который мы используем для отчетов в нашем приложении WinForms .NET 2.0.Поскольку две таблицы находятся в одном наборе данных, могу ли я просто убедиться, что обе таблицы загружаются в набор данных, а затем укажите отчет в DataSet вместо DataTable?Что-то еще?

Нет необходимости сказать, я играю с этим на некоторое время и никуда не попал.

TIA, Мэтт

Это было полезно?

Решение

Хорошо, я получил эту работу и, в ретроспективе, это было довольно легко. Я только что не знал, какие меню использовать для того, чтобы получить против, чтобы все вписаться, и который должен делать их.

Глядя на Designer.cs для моей формы на самом деле была самая полезная вещь, которую я сделал. Я заметил, что ReportViewer имеет Bindingsource по умолчанию, указанным на первой таблице. Первоначально я был повешен при попытке дать Bindingsource DataSet вместо DataTable, но тогда я решил попробовать сделать второй связыватель вместо этого.

Может быть, есть лучший способ, но вот в основном то, что я оказался:

  1. с RDLC в дизайнере, щелкнул меню «Отчет», а затем источники данных.

  2. В диалоговом окне источников данных отчета выбрали дополнительные данные с DataTable из раскрывающейся и нажали Добавить в отчет. (Я также переименовал новый источник данных, чтобы просто было названием дополнительных таблиц данных; VS создал некоторое гигантское длинное имя, основанное на полном пространстве.) ОК, чтобы закрыть диалог.

  3. на конструкторе для формы, которая содержит My ReportViewer Control, щелкнул смарт-тег «ReportViewer» (маленькая стрелка в правом верхнем углу управления), а затем выбрали источники данных Rebind. Это сделало вторую связующую организацию в нижней части конструктора.

  4. щелкнул смарт-тег ReportViewer снова и на этот раз выбрал «выбрать источники данных», чтобы подтвердить, что reportViewer теперь имел два источника данных, каждый из которых связан с одним из экземпляров BindingSource теперь в форме.

  5. Пересмотрел код нагрузки моей формы для загрузки строк во второй канал DataTable.

  6. вернулся к файлу RDLC, добавил новую таблицу и установить детальные ячейки на поля во второй канализации - и он работал!

  7. Надеюсь, это спасет кого-то еще пару часов.

Другие советы

выяснил способ использовать его в Visual Studio 2010. Нажмите на View> RegightData и когда видно данные отчета, нажмите на DataSources, а затем нажмите «Добавить».Сделайте это столько раз, сколько необходимо количество наборов данных.

Теперь в интеллектуальных тегах ReportViewer нажмите «Выбрать данные создания данных», это покажет каждую из наборов данных.Чтобы связать наборы данных с помощью источника связывания, вам придется нажать на проект, а затем дополнительно нажмите, пока не получите соответствующий класс, это приведет к созданию источников связывания.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top