Главная страница
    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.05 c
1-1107505616
Erik1
2005-02-04 11:26
2005.02.20
Какую библиотеку лучше использовать, для древоридных структур?


6-1102148567
CBOLOCH
2004-12-04 11:22
2005.02.20
FTP


1-1107872707
Stype
2005-02-08 17:25
2005.02.20
Директория Windows


3-1106058019
Бульбаш
2005-01-18 17:20
2005.02.20
Как отменить Post при переходе на другую строку?


3-1105635701
Alex_V
2005-01-13 20:01
2005.02.20
Экспорт в форматированный текст





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