Страница 1 из 1
CrossDataBand
Добавлено: 22 май 2008, 14:40
ask
У меня в источнике данных есть таблица. Нужно чтобы в отчете данные из нее появились записанными в строчку через запятую в заголовке отчета. Я использую версию 2007.3.100. Я пытался поставить в заголовок Container, в него положить CrossDataBand привязанный к этой таблице. Если контейнер меньше чем длина данных, то CrossDataBand вылезает из контейнера. Никакие параметры контейнера РастиВВысоту и расти в ширину не помогают.
CrossDataBand
Добавлено: 22 май 2008, 21:55
Edward
Вы можете перебрать все данные из источника вручную и вывести их через запятую, используя следующий скрипт в BeforePrintEvent Вашего заголовка в отчете:
Код: Выделить всё
Categories.First();
string s = "";
while (!Categories.IsEof)
{
if (s != "")
{
s = s+", ";
}
s = s + Categories.CategoryID.ToString();
Categories.Next();
}
Text1.TextValue = s;
Спасибо.
CrossDataBand
Добавлено: 23 май 2008, 04:43
ask
Это понятно. Тогда в каких случаях следует использовать компонент CrossDataBand? А то все примеры построены с использованием CrossTable.
CrossDataBand
Добавлено: 23 май 2008, 06:22
Edward
Вы можете положить в контейнер DataBand, рассчитать количество строк для него:
DataBand.CountData = Decimal.ToInt32(DataSource.Count/Количество элементов в CrossDataBand)
Также нужно увеличить высоту контейнера на высоту всех строк в DataBand. Для прокрутки
DataSource в BeforePrintEvent у CrossDataBand необходимо добавить команду:
Работу прикрепленного отчета вы можете посмотреть в программе Demo из стандартной поставки.
http://forum.stimulsoft.com/upload/CrossDataBand2.zip
Спасибо.