Вопросы по CrossTab

Обсуждение Stimulsoft Reports.NET
Ответить
kers
Сообщения: 11
Зарегистрирован: 25 июн 2015, 07:53

Вопросы по CrossTab

Сообщение kers »

Здавствуйте!

Используя ваш продукт, столкнулся со следующей проблемой.
Если в качестве источника данных для компонента CrossTab указать бизнес-объект, то нельзя выбрать поле для сортировки данных:
Изображение

Изображение

Собственно вопрос: Как мне реализовать сортировку данных в CrossTab при использовании бизнес-объекта в качестве источника данных?
Версия продукта: 2014.1.1900
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Вопросы по CrossTab

Сообщение Aleksey »

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

Для кросс таблицы сортировка задается непосредственно для ячеек (строк, колонок).

Спасибо.
Вложения
Снимок.PNG
Снимок.PNG (56.04 КБ) 4252 просмотра
kers
Сообщения: 11
Зарегистрирован: 25 июн 2015, 07:53

Re: Вопросы по CrossTab

Сообщение kers »

Оу.. Нашел у себя ошибку: в ячейки для которых нужна была сортировка выводилось значение {Format("dd.MM.yyyy", %дата%)}, т.е. строковое представление даты.. вот и получилось что даты сортируются в неверном порядке!

Спасибо за наводку!
kers
Сообщения: 11
Зарегистрирован: 25 июн 2015, 07:53

Re: Вопросы по CrossTab

Сообщение kers »

Ну и раз уж тема называется «вопросЫ», то задам следующие вопросы:

1) Возможно ли в кросс-таблице сделать дополнительную колонку с заголовком для строк (обведено синим на картинке) и возможно ли сделать два итога для таблицы, один из которых должен высчитывается по формуле (обведено зеленым)

Изображение


2) В том случае, когда данных для отображения перестают умещаться по горизонтали на один лист (рис.1), при экспорте в Excel эти листы размещаются друг под другом (рис.2)
Вопрос: как сделать, чтобы таблица экспортировалась в Excel в таком виде, как она есть, т.е. без переносов по листам?
p.s: на двойной итог на второй картинке не обращайте внимания - это я пытался сделать его своими средствами путем добавления ячеек без рамок и с прозрачным текстом

рис.1
Изображение

рис.2
Изображение
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Вопросы по CrossTab

Сообщение Aleksey »

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

По первому вопросу - стандартными средствами так сделать нельзя. Только с помощью дополнительного кода.
http://support.stimulsoft.com/index.php ... -cross-tab

По второму - как вариант использовать сегменты для страницы. Если же необходимо чтобы в предпросмотре было разбито по страницам, а в экспорте целиком, то можно попробовать в событии Exporting задавать сегменты и перерендеривать очет.

Спасибо.


Спасибо.
kers
Сообщения: 11
Зарегистрирован: 25 июн 2015, 07:53

Re: Вопросы по CrossTab

Сообщение kers »

Спасибо за ответы!

Во второму вопросу приведите пожалуйста пример для варианта с событием Exporting. Интересует как именно задать количество сегментов и вызвать повторный рендер отчета.
И что случится с отчетом в предпросмотре, если перед экспортом я изменю параметры отображения и вызову рендер? Можно ли будет после экспорта восстановить исходное состояние?
kers
Сообщения: 11
Зарегистрирован: 25 июн 2015, 07:53

Re: Вопросы по CrossTab

Сообщение kers »

Уже сам разобрался :)

Сделал так:
В коде отчета дописываем методы

Код: Выделить всё

public void PrepareForExport()
{
	Pages[0].SegmentPerWidth = RenderedPages.Count;
	Render();
}
		
public void RestoreAfterExport()
{
	Pages[0].SegmentPerWidth = 1;
	Render();
}
И в обработчиках событий Exporting и Exported вызываем соответствующие методы.
На предпросмотре все выглядит как на раздельных листах, а в Excel экспортируется одной таблицей без разрывов. То что нужно! Спасибо за помощь!
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Вопросы по CrossTab

Сообщение Aleksey »

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

Всегда рады помочь!
Дайте знать, если будут еще вопросы.

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