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

Кросс бенды (отчет с переменным числом столбцов)

Добавлено: 16 ноя 2010, 09:45
TAV1975
Всем привет.
Столкнулся с проблемой и не могу найти решение. Подскажите, в каком направлении копать.
Задачка:
1. Нужен отчет с переменным числом столбцов
2. Заголовки столбцов имеют переменную ширину (ширина хранится в базе данных для каждого столбца)
3. Если заголовок столбца не убирается по ширине внутри столбца, то его нужно переносить с автоматическим увеличением высоты столбца.
2. Высота всех столбцов в итоге должна быть равна высоте самого высокого столбца.
Так и вот, сделал такую структуру:

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

-------------------Заголовок данных--------------------------
+- Кросс заголовок ------------+
| +- Текст-------------------+ |
| |{ИмяСтолбца}              | |
| |                          | |
| +--------------------------+ |
+------------------------------+
-------------------------------------------------------------
У Текста, Кросс заголовка и Кросс заголовка выставил свойства:
1. Может расти - Да
2. Может сжиматься - Да
Кроме того у Текста выставил свойства:
1. Переносить - Да
2. Расти в высоту - Да
У Кросс заголовка на событие повесил следующее:

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

((StiBand)sender).Width = ШиринаСтолбца;
У Текст на событие повесил следующее:

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

((StiText)sender).Width = ШиринаСтолбца;
Вот... отчет построился, НО есть 2 момента, которые я не понимаю:
1. Все Кросс заголовки получились разной высоты - как бы их привязать к нижней границе родительского Заголовок данных? Ведь у Кросс объектов не предусмотрено свойство ? Может подскажете синтаксис, как обойти все дочерние элементы Кросс заголовка и установить у них нужную высоту.
2. Почему событие возникает аж 5 раз для каждого столбца отчета (посмотрел с помощью добавления к событию текста System.Windows.Forms.MessageBox.Show("BeforePrint");)?

Кросс бенды (отчет с переменным числом столбцов)

Добавлено: 16 ноя 2010, 10:52
Aleksey
Здравствуйте,

Пожалуйста, пришлите ваш отчет с данными на support@stimulsoft.com для анализа.

Спасибо.