Главная страница
    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.041 c
2-1235844626
walk
2009-02-28 21:10
2009.04.19
string потоком


2-1236020897
Alik
2009-03-02 22:08
2009.04.19
Вывод чисел в TMemo ровными таблицами


15-1232824237
Unknown user
2009-01-24 22:10
2009.04.19
Работа с потоками в Delphi


2-1235746713
Mops
2009-02-27 17:58
2009.04.19
Postdata & BeforeNavigate2 & string


2-1235826463
Nazarius
2009-02-28 16:07
2009.04.19
как в memo написать в определенную строчку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский