Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Отчет Crystal Reports с данными из Data Set


Автор: Dimass 25.10.2007, 09:42
Задача проста!
Есть в проекте Win Forms Data Set заполненный данными и таблица в нем, необходимо взять и сделать отчет который бы выдавал  данные из таблицы. Прошу помогите сделать, (желательно без использования мастера с примером кода) 
В этом ничего понять не могу, прошу помощи.

Буду благодарен за какой нибуть источник знаний на русском языке. 

Автор: ArsNov 25.10.2007, 22:16
Отчеты для crystal reports хранятся в отдельных файлах. Которые можно редактировать только через редактор. Вставляешь на форму Crystareporviewer, ставишь reportsource=отчет.rpt и запускаешь. Редактировать эти файлы можно только сам crystalreports, цепляешь базу и работаешь. Через код нельзя их редактировать.   smile  Могу дать ссылки на документацию по crystal repots. Достаточно мощная штука, правда есть и некоторые неприятные ограничения.

Автор: Dimass 26.10.2007, 09:53
Если не трудно, дай ссылочку, а то вообще плаваю с этим вопросом.

И еще нельзя ли сделать, что то вроде этого 

ОтчетCrystalReports МойОтчет = new ОтчетCrystalReports();
МойОтчет.ИсточникДанных = ...;



Автор: ArsNov 26.10.2007, 11:29
Вот описание возможностей кристала: http://www.interface.ru/fset.asp?Url=/crystal/GeneratorReportCRXI.htm
Вот еще FAQ http://www.interface.ru/fset.asp?Url=/faq/faq.htm
Вот ветка в msdn по вопросам работы .NET с CR: http://msdn2.microsoft.com/en-us/library/ms227360(VS.80).aspx
А еще есть книга целая на natahaus.ru. вот её описание:

Книга представляет собой практическое руководство по созданию аналитических отчетов с помощью генератора отчетов Crystal Reports версии 9. Дан обзор инструментальной среды и принципы выборки, сортировки и группирования данных. Объясняется использование формул, диаграмм и географических карт, матричных отчетов и OLAP-источников данных. Для системных администраторов рассматриваются различные методы распространения отчетов - от экспорта в распространенные форматы до распространения с помощью Crystal ReportsEnterprise. Для профессиональных разработчиков информационных систем рассматривается использование Crystal Report Print Engine API и встраиваемых компонентов Crystal Reports (Delphi и Visual Basic), их применение для интеграции в информационные системы, отчетов, созданных в различных средах разработки. В приложениях приведен перечень и подробное описание функций Crystal Report Print Engine API (CRPE), а также описание параметров функций Crystal Report Print Engine API.

Нет, источником может быть только готовый отчет. А какую задачу тебе надо реализовать? Просто у меня тоже была задача, для которой CR не подошел. Мне пришлось писать программу, которая генерирует графики по данным из БД(Access). Короче я отказался от CR... 

Автор: ArsNov 26.10.2007, 11:46
Хотя вот нашёл, все таки можно: http://msdn2.microsoft.com/en-us/library/ms227594(VS.80).aspx
Напиши что получилось. У меня нет сейчас возможности потестить

Автор: Dimass 26.10.2007, 15:27
Большое спасибо отличные вещи! Буду пробовать обещаю написать пример решения, если конечно найду его. Сильно помог! 

Потренировался все получилось! Оказывается для того, что бы отчет работал, необходимо:
1) Явно добавить в проект класс DataSet ( ОШИБКА!: я пытался объявить его в качестве переменной а затем методом ReadXMLSchema сконфигурировать схему).
2) Придать ему необходимую структуру (таблицы и т.д.)
3) Затем необходимо построить .exe файл 
4) Только после этого в редакторе отчета этот DataSet станет доступным для работы в редакторе отчетов.

5) Дальше попользовался  статьей которую помог найти ArsNov (Глубокий Респект)
http://msdn2.microsoft.com/en-us/library/ms227627(VS.80).aspx

пара строк кода и все работает.

Единственное не достиг цели -> По прежнему не знаю, можно ли каким то образом, кодом как например окно Windows  создать отчет, задать поля для отображения, их свойства и затем просматривать полученный результат, или необходимо только в редакторе создать файл .rpt и использовать только его.

Автор: Dimass 29.10.2007, 11:09
Решенный!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)