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

Вопросы по CrossTab

Добавлено: 25 июн 2015, 08:13
kers
Здавствуйте!

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

Изображение

Собственно вопрос: Как мне реализовать сортировку данных в CrossTab при использовании бизнес-объекта в качестве источника данных?
Версия продукта: 2014.1.1900

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

Добавлено: 25 июн 2015, 14:06
Aleksey
Здравствуйте,

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

Спасибо.

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

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

Спасибо за наводку!

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

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

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

Изображение


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

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

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

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

Добавлено: 25 июн 2015, 16:38
Aleksey
Здравствуйте,

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

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

Спасибо.


Спасибо.

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

Добавлено: 26 июн 2015, 07:14
kers
Спасибо за ответы!

Во второму вопросу приведите пожалуйста пример для варианта с событием Exporting. Интересует как именно задать количество сегментов и вызвать повторный рендер отчета.
И что случится с отчетом в предпросмотре, если перед экспортом я изменю параметры отображения и вызову рендер? Можно ли будет после экспорта восстановить исходное состояние?

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

Добавлено: 26 июн 2015, 08:02
kers
Уже сам разобрался :)

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

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

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

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

Добавлено: 26 июн 2015, 09:27
Aleksey
Здравствуйте,

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

Спасибо.