Динамически создавать отчет RDLC во время выполнения из DataGridView

У меня есть формаAdvancedSearchForm сDataGridView контрольdgrData и кнопкаReport в C # Winform. По нажатию кнопкиReportЯ желаю, чтобы форма сReportView элемент управления должен отображаться с теми же столбцами, что и в DataGridView с теми же заголовками столбцов.

Форма с DataGridView и кнопкой

Выход ожидается при нажатии кнопки «Отчет»:

мойDataGridView (dgrData) Контроль связан с

SQL
“Select Id, c_Name from Country”
ConnectionString
server=localhost;User Id=root;password=root;Persist Security Info=True;database=country_state

Чтобы загрузить данные в сетку во время выполнения, я готовлю следующееDataAdapter:

DataAdapter dataAdapter = DataAdapter.Current;
// I am passing the SQL statement and the table name to my database which knows the ConnectionString within the LoadData function

DataTable dt0 = dataAdapter.LoadData("select Id, c_Name from `country`", "country");
if (dt0 != null) {
   dgrData.DataSource = dt0;
}

Можно ли назвать дочернюю форму, содержащую по умолчаниюReportViewer элемент управления, который показывает отчет с таблицей, содержащей столбцы, соответствующие представлению данных (dgrData) вместе с данными динамически во время выполнения?

Выходное ожидание в деталях:

При нажатии кнопки программа просмотра отчетов на целевой форме должна получить
связано с источником данных из значений вDataGridView, ИтакReportViewer control ничего не знает о данных в отчете, пока пользователь не нажмет кнопку отчета во время выполнения.Мне бы хотелось, чтобы решение не требовало создания отдельного файла RDLC, поскольку оно вызывает внешнюю зависимость, чтобы остановить текущий поток и создать файл отчета в конструкторе файлов отчетов, который может быть слишком сложным для пользователей.Я ничего не знаю о конструкторе RDLC и связанном с ним источнике данных (я хочу учиться (^ _ ^), но я не могу навязать это требование обучения моей команде) и привязать данные к отчету. Буду признателен за рабочие примеры программирования, если ваша помощь содержит теорию.Я знаю, что ReportViewer существует довольно давно. Хотелось бы, чтобы пример решения для отображения данных 1-1 между data-grid и ReportViewer был проще найти для кого-то в будущем на SO.

Замечания: Пожалуйста, дайте мне знать, если какие-либо дополнительные данные требуются с моей стороны в комментариях. Чтобы показать текущее решение, мне нужно было создать и файл RDLC, в который я должен был поместить и строку подключения, и SQL во время разработки, чего я хотел бы избежать в решении, которое я ищу. Я хотел бы найти решение, в котором файл RDLC генерируется с помощью некоторого модульного кода, который можно использовать и в других решениях, вместо того, чтобы создавать его для каждой формы, в которой у меня есть DataGrids.

Ответы на вопрос(1)

Ваш ответ на вопрос