Страница 1 из 1

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

Добавлено: 29 июл 2015, 13:14
avs
Стоит задача сделать отчёт с переменным количеством колонок.
Использовать CrossTable не получается, т.к. к этим динамическим колонкам нужно добавить ещё и статичные.
Пример отчета прилагаю.
Как понимаю, выход - в использовании CrossDataBand. Но никак не могу найти ни описания, как его использовать, ни похожего примера.
Можно ли такое сотворить в StimulSoft? Если да, то как? И где посмотреть пример?

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

Добавлено: 30 июл 2015, 10:43
HighAley
Здравствуйте.

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

Спасибо.

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

Добавлено: 30 июл 2015, 17:40
Леонид
Добрый день!

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

Суть такая. Есть шаблон отчёта, в нём есть Header и DataBand, на них лежат 4 колонки, а остальные мы генерируем из кода C# (см. приложение). Делал в VS 2010, для Stimul 2015.1.12.0. Пример полностью рабочий, нужно только добавить свои dll'ки для Стимула, и нажать Run.

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

Добавлено: 31 июл 2015, 10:58
avs
Леонид, спасибо за пример. Если не получится решить задачу штатными способами, придётся генерить содержимое программно. Но очень этого не хочется делать.

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

Добавлено: 31 июл 2015, 11:06
avs
Почти удалось достичь нужного результата.
Но наименования в заголовке дублируются. Как исправить?

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

Добавлено: 01 авг 2015, 17:31
Ivan
Здравствуйте.

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

Спасибо.

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

Добавлено: 05 авг 2015, 13:18
avs
Ivan, большущее спасибо! То, что нужно. Теперь разобрался, как связывать данные.

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

Добавлено: 05 авг 2015, 16:11
HighAley
Здаравствуйте.

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

Спасибо.