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

Вниз

Создание объекта в FastReport   Найти похожие ветки 

 
Светлана   (2005-01-22 15:27) [0]

Есть FastReport"овский отчет. Нужно при событии [OnBeforePrint] в MasterData1 (TfrBandView) в цикле создавать объекты, например TfrLineView.
Подскажите пожалуйста как это сделать.


 
Соловьев ©   (2005-01-22 15:44) [1]

а зачем?


 
Светлана   (2005-01-22 15:50) [2]

Рисую деревовидный отчет. Данные готовы. Надо только само собстнна дерево нарисовать.


 
Соловьев ©   (2005-01-22 15:55) [3]

положи нужные тебе лини и смещай их в OnBeforePrint, зачем криейтить?


 
Светлана   (2005-01-22 15:59) [4]

Потому что уровней вложенности дерева у каждой записи может быть несколько. И соответсвенно нужно создавать объекты (к тому же разные). В данных уже всё это есть. Нужно только, в зависимости от того, какие данные в текущей строке на соответсвующем уровне создавать объект соответсвующего вида.


 
Соловьев ©   (2005-01-22 16:04) [5]

>Нужно только, в зависимости от того, какие данные в текущей строке
> на соответсвующем уровне создавать объект соответсвующего вида

Ничего создавать не надо. Играешся с Visible.


 
Светлана   (2005-01-22 16:12) [6]

Представь, что у тебя 32 уровня вложенности.
Разве правильно будет создавать
  32 прямые линии      │,
  32 линии - "окончание ветки"    └    и
  32 линии вот такого вида   ├      (уж и не знаю, как их назвать :)))

А потом в цикле перебирать именами объектов и "играться" с Visible?
Мне кажется, что грамотнее было бы создавать, опираясь на данные, нужные объекты.


 
Соловьев ©   (2005-01-22 16:15) [7]

достаточно 3-х элементов.
Зачем 32? а если 64 уровня вложености - создавать 64 линии?


 
Соловьев ©   (2005-01-22 16:17) [8]

У тебя же один рядок MasterData1 - это один уровень одной ветки?
вот в событии OnBeforePrint и ставишь их по Left в зависимости от глубины и делаешь Visible в зависимости от лист это или середина ветки.


 
Светлана   (2005-01-22 16:23) [9]

Ну нарисуй дерево, в котором больше одного уровне вложенности.

├ данные(1 уровень)
│  ├ данные (2 уровень)
│  │  ├ данные (3 уровень)
│  │  │   └  данные (4 уровень)
│  │  └ данные (3 уровень)
│  └ данные (2 уровень)
└ данные (1 уровень)

вот видишь в четвертой строке на четырех уровнях нужно создавать четыре объекта (разных). Так не хватает же 3-х элементов.


 
Соловьев ©   (2005-01-22 16:28) [10]

понял... а без вертикальных линий никак?


 
Светлана   (2005-01-22 16:30) [11]

ну так дерево же нужно! Красивое и полноценное :)))


 
Светлана   (2005-01-22 16:31) [12]

Вот мне бы узнать как создавать объект в FastReport"е в рантайме и всё тогда заработает :)


 
Соловьев ©   (2005-01-22 16:32) [13]

а почему ты хочешь лини использовать, попробй то как ты и показала - с помощью символов. подобрать только нормальный шрифт.


 
Соловьев ©   (2005-01-22 16:39) [14]

кажысь придумал:)
ложим Cross tab на него линию, поключаем его к источнику данных, который запоняем в OnBeforePrint:
select 1 union select 2 ... unoin select n
где n - кол-во нужных вертикальных линий.


 
Светлана   (2005-01-22 16:45) [15]

очень интересная идея :)))
Только вот поконкретней объясни, плиз. Не пойму, что у тебя за SELECT 1 UNION ?.... И у кого мы заполняем в OnBeforePrint?


 
Соловьев ©   (2005-01-22 16:59) [16]

>Не пойму, что у тебя за SELECT 1 UNION ?
генеришь наборданных. такой, чтобы он тебе возвратил нужное кол-во записей, тебе нужно 3 линии, значит запрос должен быть

select 1 union select 2 union select 3

И т.д.
и присваиваешь эту строку ADOQuery в том же событии.

...
CountLines.Close;
CountLines.SQL := "select 1 union select 2 union select 3"//или переменную;
CountLines.Open;
...

И єтот источник данных указываешь у Cross tab


 
Светлана   (2005-01-22 17:06) [17]

Спасибо, сейчас попробую...



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

Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.895 c
1-1107424602
dreamse
2005-02-03 12:56
2005.02.20
Как определить какие строки выделены в DbGrid


6-1102352885
Anonimus
2004-12-06 20:08
2005.02.20
как скачать страницу


14-1107120927
Alexander Panov
2005-01-31 00:35
2005.02.20
"Белая гвардия"


14-1106211382
DelphiNew
2005-01-20 11:56
2005.02.20
Изгиб гитары жёлтой


3-1106116756
Russko
2005-01-19 09:39
2005.02.20
DBGridEh - подгонка ширины колонки





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