Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связывание ReportViewer'a и DataTable'a 
:(
    Опции темы
#Sage
Дата 19.4.2006, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 25.2.2005

Репутация: нет
Всего: 1



Hi2All!

В процессе работы программы создаётся DataView:
Код
DataView dw = new DataView(BlaBlaDataSet.Tables["BlaTable"]);
dw.RowFilter = "object='BlaObject'";


Далее, при помощи метода ToTable() класса DataView я получаю из созданного ранее представления DataTable:
Код
DataTable tempDT = dw.ToTable("Sage", true, "id", "bla_id", "bla_quantity");


Теперь, когда получен DataTable с нужными мне данными, хотелось бы сгенерировать report (на форме уже есть ReportView'er).  Ну, и собсвенно сам вопрос: как отобразить/связать мой DataTable с ReportViewer'ом динамически, во время исполнения программы? (Проще говоря, у меня есть DataTable и всё что нужно сделать это отобразить все данные из этого DataTable'a в ReportViewer'e)

 
PM MAIL WWW   Вверх
mr.DUDA
Дата 24.4.2006, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



А что за ReportViewer такой ? 


--------------------
user posted image
PM MAIL WWW   Вверх
#Sage
Дата 25.4.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 25.2.2005

Репутация: нет
Всего: 1



В Студии 2005 контрол новый такой. Cильно урезанный клон Crystal Reports, но мне он как раз подходит. Работать с ним просто, на стадии разработки задать поля талиц/фильтр для отображения не сложно. Проблема возникла с динамической привязкой DataTable к этому ReportViewer'у. Т.е. чтоб я фильтровал записи в DataTable, а ReportViewer его только отобразил. Листал MSDN. Долго. Но там молчат... 
PM MAIL WWW   Вверх
-ser-
Дата 26.4.2006, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 4
Всего: 13



ReportViewer работает в связке с DataSource + ReportDocument

Первое все знают что это такое, а что есть ReportDocument?

 Это файл *.rdlc, описывающий расположение твоего документа в самом Viewere. По сути это xml файл.

в дизайнере рисуешь как надо свой репорт, сохраняешь проект и у тебя в каталоге проекта появляется файл *.rdlc (например Report1.rdlc). 

тебе надо записать этот файл *.rdlc в рабочий каталог клиенту. без него вьюер не знает как именно расположить твой репорт.

динамически можем показать так
Код

reportViewer1.LocalReport.DataSources.Add( new Microsoft.Reporting.WinForms.ReportDataSource( 
"название в теге DataSet Name в файле Report1.rdlc "), dataSet.Tables[ 0 ] );
// пишем, откуда читать расположение документа
reportViewer1.LocalReport.ReportPath = "Report1.rdlc";
reportViewer1.RefreshReport();


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

  

Это сообщение отредактировал(а) -ser- - 26.4.2006, 06:53


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.