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

Вниз

Масштабирование записей в QuickReport   Найти похожие ветки 

 
dmtr   (2003-09-17 15:31) [0]

Ситуация такая: есть отчет, сделанный в QR. В DetailBand выводятся данные из DataSet-а. Данные выводятся в ячейки таблицы, которая нарисована при помощи TQRShape. Свойства AutoSize компонента TQRDBText, который отображает данные, я установил в False, а WordWrap - в True (т.о. зафиксировав ширину поля и установив изменяемую высоту строки).
Внимание вопрос!!! Как сделать так, чтобы строка таблицы(TQRShape) при изменении высоты текста также соответственно изменялась?


 
dmtr   (2003-09-17 16:36) [1]

up


 
Sandman25   (2003-09-17 16:42) [2]

Наверное, ручками.
У Band должно быть событие типа OnPrint, в котором уже известна высота строки.
На практике такого не делал, правда.


 
dmtr   (2003-09-17 17:21) [3]

В том-то и дело, что нет такого события


 
Sandman25   (2003-09-17 17:52) [4]

Событие AfterPrint не подойдет? Судя по его описанию, можно сделать еще один точно такой же Band, положить его выше нужного, в его BeforePrint отменить его печать, в его AfterPrint считать высоту нужного компонента и затем использовать ее при печати (BeforePrint) "настоящего" Band"а.


 
dmtr   (2003-09-17 18:19) [5]


> Судя по его описанию, можно сделать еще один точно такой
> же Band

Т.е. скопировать базовый? Если так, то как это сделать?


 
Sandman25   (2003-09-17 18:19) [6]

Ctrl C, Ctrl V.


 
dmtr   (2003-09-17 18:30) [7]

:)))


 
dmtr   (2003-09-17 18:37) [8]


> Sandman25 © (17.09.03 17:52) [4]

Не получается. Если отменить печать бэнда, то с ним не производится никаких действий, в результате, например, высота QRDBText-а равна 0;


 
Sandman25   (2003-09-17 18:47) [9]

Понятно. Жаль, что я не смог Вам помочь :(
Может, кто другой знает.


 
dmtr   (2003-09-18 09:35) [10]

Народ, может все таки кто-то знает, а?


 
Johnmen   (2003-09-18 10:31) [11]

Данный вопрос неоднократно появлялся здесь.
Ответ может несколько тебя огорчить...:) Придется "ручками" считать высоту компонента отображения, исходя из содержимого, параметров шрифта, ширины и т.д. После чего в BeforePrint выставлять рассчитанную высоту необходимым элементам.
Сразу скажу, что тебе придется повозиться...:)
Поэтому, если хочешь быстро и просто, пересмотри принцип отображения.


 
dmtr   (2003-09-18 11:03) [12]


> исходя из содержимого, параметров шрифта

Я так и пытался, но проблема в следующем: копонент QRDBText, такое ощущение, что не видит выводимый в него техт из DataSet-а, т.е. если в Befor/AfterPrint вставить что-то по типу
ShowMessage(QRDBText1.Caption);
то получим имя поля надора данных, которое подставляется в QRDBText1.Caption по умолчанию.
Если текст в QRDBText1 занимает несколько строк, то все равно
запрос QRDBText1.Lines.Count возвращает значение 0.


 
Sandman25   (2003-09-18 11:07) [13]

Сделайте Memo с аналогичными размерами и шрифтом тогда.


 
Johnmen   (2003-09-18 12:16) [14]

>dmtr © (18.09.03 11:03)

В этом нет проблем. Caption у TQRDBText не содержит значения поля. Свойство Lines так же не обслуживается.


 
dmtr   (2003-09-18 14:20) [15]

И какой выход


 
Johnmen   (2003-09-18 14:47) [16]

1. см. [11]
2. Заранее в дизайнтайме выставить необходимые размеры. М.б. с запасом.
3. Использовать TQRLabel. Но тогда "ручками", как сказано в [11].



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

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

Наверх





Память: 0.47 MB
Время: 0.032 c
14-4080
DiamondShark
2003-09-14 14:22
2003.10.02
Всё. Спёкся.


14-4060
yakshe
2003-09-15 15:04
2003.10.02
Хочу научиться создавать сайты. С чего начать?


1-3987
AlexKniga
2003-09-19 12:30
2003.10.02
Подкиньте перевод WinNT.h на pascal


4-4155
AngelSaint
2003-07-30 09:40
2003.10.02
Как получить хэндл окна


3-3750
ЮРИЙ_К
2003-09-12 09:47
2003.10.02
Присвоить значения полям базы в цикле.





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