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

Вниз

QuickReport   Найти похожие ветки 

 
Johnmen   (2002-10-30 10:03) [0]

Знатоки QReport"а !
Имеется простенький отчетец. Некоторые объекты DetailBand"а имеют AutoStretch=True.
Вопрос : как, с минимальным напряжением различных частей организма, убрать разрыв DetailBand на две страницы ?


 
Johnmen   (2002-10-30 12:36) [1]

Я категорически настаиваю, чтобы вы поделились своими соображениями !
:-)))))))))


 
Johnmen   (2002-10-30 14:46) [2]

Терпеливо жду.......:)


 
fnatali   (2002-10-30 14:49) [3]

Бедный Johnmen :)
Вот я бы тебе с большим удовольствием помогла - только не знаю как :((


 
gek   (2002-10-30 14:57) [4]

Делается, сей точно не скажу но это еще на D4 решал.


 
Aristarh   (2002-10-30 14:59) [5]

>fnatali © (30.10.02 14:49)

Эт вы наверное лет 50 назад играли в теннис :-)))


 
Max Zyuzin   (2002-10-30 15:00) [6]

А я уже дааавно забросил такую штуку как QuickReport после того как узнал о сушествование Word и Excel ;) Ну не совсем сразу как узнал, а после того как научился ему передавать информацию...
А почему Евгений вы не хотите воспользоваться Excel-ем, ИМХО удобнее...


 
Johnmen   (2002-10-30 15:11) [7]

>fnatali © (30.10.02 14:49)

Жаль...Но я не унываю...:)

>gek © (30.10.02 14:57)

Да и я решал, но мне не понравилось. Большая просьба вспомнить !

>Max Zyuzin © (30.10.02 15:00)

Предлагаю все-таки на "ты", так проще и без лишнего официоза. :)
>...не хотите воспользоваться Excel-ем,
Потому, что доделываю за некстати уволившимся челом проект, и требования ТЗ - QR. Да и нравится он мне (QR).



 
Max Zyuzin   (2002-10-30 15:17) [8]

>Johnmen © (30.10.02 15:11)
>Предлагаю все-таки на "ты", так проще и без лишнего официоза. :)
Хорошо :)
Только помочь я тебе не смогу :) к сожалению :)



 
SaS13   (2002-10-30 15:22) [9]

Можно попробовать рассчитать высоту бандов, и при необходимости - сравнивая с высотой страницы на BeforePrint повесить принудительное создание новой страницы NewPage, проблема лишь в том как рассчитать текущую высоту... :))Можно попробовать суммировать на AfterPrint детайл-бэнда, однако это не "с минимальным напряжением различных частей организма" :)


 
Vint   (2002-10-30 15:42) [10]

>Johnmen © (30.10.02 10:03)

что значит "убрать разрыв DetailBand на две страницы ?" - на рулоне печатать, что ли надо?


 
Johnmen   (2002-10-30 15:44) [11]

>SaS13 © (30.10.02 15:22)

Спасибо за вариант решения !
К сожалению, даже в AfterPrint высота детайл-бэнда остается проектной, нет чувствительности к ее изменению, хотя уже и "напечатано"...


 
Johnmen   (2002-10-30 16:17) [12]

>Vint © (30.10.02 15:42)

DetailBand начинает печататься на одной стр. и продолжает на др.
Надо, чтобы был целиком на одной стр.


 
Vint   (2002-10-30 16:25) [13]

>Johnmen © (30.10.02 16:17)

Я что то не понимаю, или к вечеру башка не варит :))
А куда же денуться те строчки которые не поместились на первую страницу?


 
Johnmen   (2002-10-30 16:37) [14]

Просто те, которые д.б. на первой - перенесутся на вторую...:)


 
SaS13   (2002-10-30 16:42) [15]

у TQRCustomBand в Private сидит BandFrameRect : TRect; - с измененными значениями высоты детайл-банда, (можешь глянуть через Watches) если вытащишь - дерзай...


 
Johnmen   (2002-10-30 16:56) [16]

>SaS13 © (30.10.02 16:42)

Спасибо. Тоже вариант.
Вытащить то вытащу, подправив исходник...


 
SaS13   (2002-10-30 16:57) [17]

Как альтернативу могу предложить вариант: убрать AutoStretch и на BeforePrint проверять ширину лэйбла (к примеру), если не влазит, то самому раздвигать лэйбл и бэнд соответственно, пока не влезет и с подсчетом проблем не будет, у меня было так реализовано.


 
SaS13   (2002-10-30 16:58) [18]

Johnmen © (30.10.02 16:56) Проблема в том что исходников нет :)))


 
Vint   (2002-10-30 17:04) [19]

>Johnmen © (30.10.02 16:37)

понятно...

AvailableSpace - возвращает количество оставшего на странице места его можно сравнивать со значением Size.Length секции

TMyQuickRep = class(TQuickRep)
end;

procedure Tfrm.DetailBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Bool
ean);
begin
if TMyQuickRep(QuickRep1).AvailableSpace >= round(Sender.Size.Length) then
Sender.ParentReport.NewColumn;
end;

еще, можно наверно расчитать через TextWidth и TextHeight, из события OnNeedData event, или по количеству символов :-))

а почему не сделать размер твоего Detail фиксированым - бумагу экономишь что ли?


 
Anatoly Podgoretsky   (2002-10-30 17:08) [20]

Есть там такое свойство expanded не может ли оно помочь


 
Johnmen   (2002-10-30 17:16) [21]

>SaS13 © (30.10.02 16:57)

Вот и я всегда так делал...

>SaS13 © (30.10.02 16:58)

Да есть...

>Vint © (30.10.02 17:04)

Спасибо ! Идею уловил...:)
>а почему не сделать размер твоего Detail фиксированым - бумагу
>экономишь что ли?
Хочу, чтоб было красиво ! Заказчики любят красоту... :)




 
Johnmen   (2002-10-30 17:26) [22]

>Anatoly Podgoretsky © (30.10.02 17:08)

Ну наконец то дождался поста от наиболее продвинутого (по моему мнению) человека в QR !
Спасибо ! Уже смотрю... :)))


 
Johnmen   (2002-10-30 17:44) [23]

>Anatoly Podgoretsky © (30.10.02 17:08)

Посмотрел... Да, действительно может помочь !


 
Anatoly Podgoretsky   (2002-10-30 20:36) [24]

Если не поможет то могу предложить обходной путь, создать child band (при желании на нем разместить линию для подчеркивания, что бы даром не пропадал) связать его с detail и установить свойство QRChildBand.LinkBand связанные группы всегда печатаются на одной странице.


 
Vint   (2002-10-31 10:00) [25]

Удалено модератором



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

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

Наверх





Память: 0.5 MB
Время: 0.008 c
3-69177
Devid
2002-10-30 21:39
2002.11.21
Люди помогите плз...


1-69442
Новенький в Делфи
2002-11-10 22:49
2002.11.21
Прозрачный Memo


3-69212
Jackal22
2002-11-01 15:39
2002.11.21
Как создать отчет содержащий несколько страниц?


14-69545
TTCustomDelphiMaster
2002-11-01 18:10
2002.11.21
Безопасный код :)


3-69107
kandid
2002-11-02 14:12
2002.11.21
Откат MsSql server





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