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

Как реализовать динамическое формирование отчёта.

Добавлено: 08 апр 2009, 05:32
Master
Добрый день :biggrin: .
Помогите пожалуйста как мне реализовать задание.
Необходимо написать компонент, который получает произвольный DataTable, заголовок и динамически формирует отчёт.
Необходимо также, в зависимости от кол-ва столбцов таблицы формировать соответствующую ширину столбцов.
Как это можно реализовать?
Что мне для этого необходимо?
Может есть что-то на эту тему?
Спасибо.

Как реализовать динамическое формирование отчёта.

Добавлено: 08 апр 2009, 06:54
Andrew
Добрый день.

Пожалуйста, посмотрите пример проекта Print Table из стандартной поставки продукта.

Спасибо.

Как реализовать динамическое формирование отчёта.

Добавлено: 08 апр 2009, 07:00
Master
Andrew большое Вам спасибо за помощь :)

Как реализовать динамическое формирование отчёта.

Добавлено: 15 апр 2009, 05:24
Master
Есть код:

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

//Create HeaderBand
			StiHeaderBand headerBand = new StiHeaderBand();
			headerBand.Height = 0.5;
			headerBand.Name = "HeaderBand";
			page.Components.Add(headerBand);

			//Create Databand
			StiDataBand dataBand = new StiDataBand();
			dataBand.DataSourceName = "data";
			dataBand.Height = 0.5;
			dataBand.Name = "DataBand";
			page.Components.Add(dataBand);
Тоесть, как я понимаю, добавляються бэнды.
К сожалению, в дизайнере отчёт без бендов и выглядит как будто на него просто накидали текстовых компонентов :(
Есть ли способ формировать отчёт динамически так, как буд-то он собран не в коде а в дизайнере?
Спасибо.

Как реализовать динамическое формирование отчёта.

Добавлено: 15 апр 2009, 08:02
Master
Пробовал ещё так:
Создал отчёт в дизайнере с PageHeader1 и на нём Text1, задал значение для Text1 типа "Привет Егор".
В закладке "Код" скопировал и оформил текст кода в компонент.
Вызвал его из приложения - получил - сообщение.
Из предосмотра запустил дизайнер - есть компонент Text1, но компонента PageHeader1 как и не бывало.

1. Подскажите пожалуйста почему.
2. Можно ли в отчёте делать с переданным DataTable группировку, по полю которое выберет пользователь.

Спасибо.

Как реализовать динамическое формирование отчёта.

Добавлено: 21 апр 2009, 19:28
Jan
Здравствуйте,
Создал отчёт в дизайнере с PageHeader1 и на нём Text1, задал значение для Text1 типа "Привет Егор".
В закладке "Код" скопировал и оформил текст кода в компонент.
Вызвал его из приложения - получил - сообщение.
Из предосмотра запустил дизайнер - есть компонент Text1, но компонента PageHeader1 как и не бывало.

1. Подскажите пожалуйста почему.
Если дизайнер вызывается из окна предварительного просмотра, то он редактирует не шаблон отчета, а результат его построения - текущию страницу.
2. Можно ли в отчёте делать с переданным DataTable группировку, по полю которое выберет пользователь.
Можно, логика точно такая же как и в коде отчета.

Спасибо.