Использование CrossDataBand

Обсуждение Stimulsoft Reports.NET
Ответить
avs
Сообщения: 14
Зарегистрирован: 28 май 2014, 16:20

Использование CrossDataBand

Сообщение avs »

Стоит задача сделать отчёт с переменным количеством колонок.
Использовать CrossTable не получается, т.к. к этим динамическим колонкам нужно добавить ещё и статичные.
Пример отчета прилагаю.
Как понимаю, выход - в использовании CrossDataBand. Но никак не могу найти ни описания, как его использовать, ни похожего примера.
Можно ли такое сотворить в StimulSoft? Если да, то как? И где посмотреть пример?
Вложения
Пример отчета.xls
(6.5 КБ) 230 скачиваний
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Использование CrossDataBand

Сообщение HighAley »

Здравствуйте.

Вы можете почитать про Кросс-дата в документации. К сожалению больше информации на данный момент нет.
Есть один момент. Кросс-дата показывает существующие данные. Если какой-то колонки нет, то пустая ячейка добавлена не будет и произойдёт сдвиг.
Кросс-дату можно положить на панель, которая лежит на бэнде.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: Использование CrossDataBand

Сообщение Леонид »

Добрый день!

Решали подобную задачу, единственная разница была в том, что количество колонок было фиксировано и равно 31 (макс. количество дней в месяце).
Поэтому есть предложение генерировать отчёт динамически. Набросал вам простой пример с использованием DataTable, где 4 статические колонки (ФИО, Количество документов, Количество часов, Количество ответов), остальные N (Темы) - динамические, для простоты там в коде есть константа их количества.

Суть такая. Есть шаблон отчёта, в нём есть Header и DataBand, на них лежат 4 колонки, а остальные мы генерируем из кода C# (см. приложение). Делал в VS 2010, для Stimul 2015.1.12.0. Пример полностью рабочий, нужно только добавить свои dll'ки для Стимула, и нажать Run.
Вложения
DynamicReportForAVS.7z
(11.28 КБ) 191 скачивание
avs
Сообщения: 14
Зарегистрирован: 28 май 2014, 16:20

Re: Использование CrossDataBand

Сообщение avs »

Леонид, спасибо за пример. Если не получится решить задачу штатными способами, придётся генерить содержимое программно. Но очень этого не хочется делать.
avs
Сообщения: 14
Зарегистрирован: 28 май 2014, 16:20

Re: Использование CrossDataBand

Сообщение avs »

Почти удалось достичь нужного результата.
Но наименования в заголовке дублируются. Как исправить?
Вложения
Report.mrt
(15.22 КБ) 336 скачиваний
data.csv
(166 байт) 366 скачиваний
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Re: Использование CrossDataBand

Сообщение Ivan »

Здравствуйте.

Группировка в вашем случае не подходит, т.к. данные могут быть произвольные, а колонки должны выводиться для каждого ФИО одинаковые.
Поэтому надо использовать более сложный вариант с несколькими источниками данных и фильтрами.
Попробуйте пожалуйста доработанный отчет в аттаче.

Спасибо.
Вложения
Report2.mrt
(17.84 КБ) 399 скачиваний
avs
Сообщения: 14
Зарегистрирован: 28 май 2014, 16:20

Re: Использование CrossDataBand

Сообщение avs »

Ivan, большущее спасибо! То, что нужно. Теперь разобрался, как связывать данные.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Использование CrossDataBand

Сообщение HighAley »

Здаравствуйте.

Мы всегда рады вам помочь.
Обращайтесь, если ещё нужна помощь.

Спасибо.
Ответить