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

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

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

Сообщение avs » 29 июл 2015, 10:14

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

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

Сообщение HighAley » 30 июл 2015, 07:43

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

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

Спасибо.
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

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

Сообщение Леонид » 30 июл 2015, 14:40

Добрый день!

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

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

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

Сообщение avs » 31 июл 2015, 07:58

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

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

Сообщение avs » 31 июл 2015, 08:06

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

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

Сообщение Ivan » 01 авг 2015, 14:31

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

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

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

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

Сообщение avs » 05 авг 2015, 10:18

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

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

Сообщение HighAley » 05 авг 2015, 13:11

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

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

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