Форум: "Основная";
Текущий архив: 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.011 c