Мне нужен инструмент, который обрабатывает как экранные, так и печатные отчеты через мое приложение C#.
Ищу простой, стандартный и мощный.
Мне нужно дать пользователю возможность выбирать, какие столбцы отображать, форматировать и т. д. С моим собственным графическим интерфейсом и динамически строить отчет на основе их выбора. Кристалл здесь не подходит, потому что столбцы нельзя добавлять «на лету» (а ширину столбцов нельзя регулировать «на лету»).
Я думаю об использовании HTML с элементом управления WebBrowser в своем приложении, но у меня будет очень мало возможностей для управления печатью и предварительным просмотром печати.
Другой вариант - перейти на .NET 3.5 (я использую 2.0) и использовать XAML с Flow Documents.
Что бы вы использовали?
Возможно, ты захочешь перефразировать вопрос, Джейсон. Большинство пользователей SO утверждают, что нет ничего «лучшего», и мы стараемся избегать войн платформ. Самое большее, вы должны спросить: «Какой инструмент отчетности мне следует использовать?»





Crystal = Большой размер, масштабное развертывание, быстрый, хороший дизайнер и поддержка MS ReportViewer = небольшой размер, медленный, плохой дизайнер, поддержка ... ну, не так уж и легко искать после reportviewer, имя используется всеми ... вздох.
На самом деле я считаю, что дизайнер отчетов в сервисах репоринта очень прост в использовании и может заставить его делать большинство вещей. Я также не думаю, что производительность такая медленная. Единственный раз, когда у меня были проблемы, это встраивание отчетов в страницы. В отличие от этого, я нахожу кристалл очень временным.
Интересно ... Я использую конструктор внутри Visual Studio, и у меня есть один отчет с примерно 300 ячейками в таблице, один только этот отчет использует 1 минуту 35 секунд только для открытия в дизайне ... Тем не менее, производительность отличная. Но если набрать около 800 страниц .. возникают проблемы, которых не было у кристалла ..
Здесь мы используем ActiveReports.net. Они в порядке и, как правило, выполняют свою работу довольно хорошо, но я не уверен, что они подходят под ваше определение «динамического». Но вы можете заставить их делать что угодно с помощью кода.
Мне нравятся активные отчеты - возможность отображать любой элемент управления .net на поверхности отчета - это отличная особенность!
В настоящее время я рассматриваю DeveXpress XtraReports как замену CR. Пока мне нравится то, что я вижу.
Мы используем службы отчетов SQL. HTML-отчеты имеют свое место, но вы не можете полностью контролировать форматирование.
Сводка по службам отчетов SQL:
Преимущества:
Базовая версия бесплатна
Входит в состав SQL express
Множество вариантов экспорта в pdf, html, csv и т. д.
Может использовать много разных источников данных
Веб-сервис, предоставляющий различные методы
Стандартный редактор SQL включает в себя компонент построения отчетов, позволяющий пользователям создавать и публиковать свои собственные отчеты
Множество функций для запросов форматирования и т. д.
Варианты расписания
Расширяемость: импорт DLL-библиотек .NET Framework для настраиваемых функций
Знакомая среда microsoft
Недостатки:
Дополнительная вещь для настройки
Бесполезная аутентификация между приложением и сервером отчетов может быть проблемой в зависимости от ваших настроек
Немного кривая обучения, хотя это не так уж сложно подобрать
Создателю модели отчета нужно поработать, и он не создает автоматически поля a-z
Я слышал хорошие отзывы о DevXpress, так что, возможно, стоит посмотреть.
Я использовал Crystal около 5 лет назад и помню, что его установка была сложной задачей и требовала больших затрат на лицензию.
Мне нужно решение на стороне клиента, и я думаю, что SQL Reporting Services имеет те же ограничения на динамическое создание, что и Crystal.
Есть ли у ваших клиентов подключение к Интернету?
Да, но онлайн-отчеты не принимаются. Задача толстого клиента - иметь там отчеты. Это требование моих клиентов, а не мое. Онлайн-отчеты уже сделаны.
Службы SQL Reporting Services, вероятно, недостаточно гибкие для того, что вы хотите, поскольку вы не получаете глубокого уровня манипуляции кодом.
Активные отчеты позволяют вам войти в события привязки и в значительной степени делать все, что вы хотите, однако есть несколько небольших ошибок с активными отчетами (например, невозможность привязки к просмотру данных по умолчанию), которые делают это проблемой. Кроме того, он очень гибкий.
XtraReports - это круто, но они намного дороже, чем Active Reports. При этом их поддержка фантастическая, а пакет отчетов - как скала. Я бы посмотрел на то, чтобы раздобыть для них деньги, если возможно.
Ознакомьтесь с материалами Report Viewer в Studio 2008 / .NET 3.5
На этом удивительном сайте есть полная информация: GotReportViewer
Это хорошая встроенная система отчетности, которая показывает отчет и распечатывает его. Он не такой полноценный, как Crystal или SQL Reporting Services. Если все, что вам нужно, это легкая отчетность, вы не сможете побить цену.
Престижность для этого сайта. Использовал код для создания полного универсального конструктора веб-отчетов. Следует разместить код для проекта с открытым исходным кодом.
Не могли бы вы уточнить, почему Crystal Reports недостаточно динамичен? Что вы пытаетесь сделать, чего не может сделать CR?