Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Вниз

динамическое создание отчётов в FastReport   Найти похожие ветки 

 
lead-in   (2008-05-15 12:56) [0]

Добрый день. Необходимо создать отчёт по заранее неизвестному набору параметров (известно становится уже в ходе выполнения программы). На форму кидаю компонент frReport, отчёт создаю так:

var
 Page: TfrPage;
 frMemoView: TfrMemoView;
begin

 // сначала загружаю шаблон
 frReport.LoadFromFile(ExtractFilePath(Application.ExeName) + "pattern.frf");

 // затем пишу следущее:

 Page := frReport.Pages[0];
 frMemoView := TfrMemoView.Create;
 frMemoView.ParentPage := Page;
 frMemoView.x := 100;
 frMemoView.y := 100;
 frMemoView.Memo.Append("Some header...");
 frMemoView.Visible := True;

 frReport.PrepareReport;
 frReport.ShowReport

end;

но на форме отчёта это никак не отображается, те элементы которые созданы в "дизайнере" видно, а эти нет. Может сталкивался кто-нить с чем-то подобным... need help.


 
Style ©   (2008-05-15 14:15) [1]

а че нет у FastReporta примеров?

может нужно просто parent задать
frMemoView.Parent := Page;


 
lead-in   (2008-05-15 14:30) [2]

frMemoView.Parent имеет тип TfrBand, то есть это я так понимаю для случая с "компонентом" который входит в к.-л. Band, у меня же он лежит именно на "листе"
примеры есть - статические, так что толку от них ноль...


 
Style ©   (2008-05-15 14:43) [3]

а посмотри чему равен Parent у других компонентов, которые в дизайнере создал.


 
lead-in   (2008-05-15 15:38) [4]

у них nil))), пробовал тоже самое при создании, всё равно нет, я ещё думал может свойства отображения неправильные (в смысле они создаются но их не видно на отчёте), так вроде нет, у страницы (TfrPage) есть свойство Object: TList, там как раз указатели на все объекты на форме, как я не создаю компоненты кол-во объектов не меняется, может сначала нужно именно в этот Object добавить?.. хз
Вот ещё что интересно у созданного статически элемента отчёта родитель - nil, а в свойстве Object родителя этот элемент есть...


 
Style ©   (2008-05-15 15:40) [5]

Может у tfrPage есть для этого какие-нить методы.. AddControl или еще что-то вроде того.


 
lead-in   (2008-05-15 16:19) [6]

хз... по мне так упоустил что-то просто, косячок где-то, вот думал мож пользовался кто этим делом - сталкивался, компонент-то классный в опщем)))


 
Style ©   (2008-05-16 12:00) [7]

Вот нашел кусок код динамического создания.

 v := TfrButtonControl.Create;        // create button
 v.SetBounds(60, 100, 75, 25);
 TfrButtonControl(v).Button.Caption := "Test!";
 TfrButtonControl(v).Button.ModalResult := mrOk;

 Page.Objects.Add(v);

 frReport1.ShowReport;


 
lead-in   (2008-05-16 13:21) [8]

Попрбовал... работает)))
Ключевой момент - это именно добавление в Object, видать fastreport "прорисовывает" элементы ссылаясь по указателям в Object, хотя хз конечно...
Огромное спасибо, Style!!!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.06 c
2-1236075271
markers
2009-03-03 13:14
2009.04.19
Клик по иконке чужого приложения в трее


15-1234465909
Кое кто
2009-02-12 22:11
2009.04.19
Универсальный вьюер


1-1210613850
[i2e]
2008-05-12 21:37
2009.04.19
как сделать PopupMenu в стиле XP? (синяя окантовка)


2-1235724440
D@nger
2009-02-27 11:47
2009.04.19
Почему отсекается первый символ?


2-1236178234
Johnnnn
2009-03-04 17:50
2009.04.19
Как добраться до pas в exe?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский