Главная страница
    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.009 c
1-3974
dataMaster
2003-09-19 10:53
2003.10.02
Как (или где) поймать изменение вводимых Items


3-3741
Vladimir
2003-09-11 17:19
2003.10.02
Поиск в базе по вложенным записям в одной строке


14-4062
Devil
2003-09-14 22:30
2003.10.02
у кого есть Корсары 2 - ПОМОГИТЕ


1-3877
Shaman
2003-09-18 18:41
2003.10.02
Как своему компонету назначить значок?


3-3769
Леонид
2003-09-11 17:57
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский