Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

QuickReport


Страницы:   1 2

Johnmen ©   (2002-10-30 10:03:00) 

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


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

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


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

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


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

>Anatoly Podgoretsky © (30.10.02 17:08)

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


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

>Anatoly Podgoretsky © (30.10.02 17:08)

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


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

>SaS13 © (30.10.02 16:57)

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

>SaS13 © (30.10.02 16:58)

Да есть...

>Vint © (30.10.02 17:04)

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



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

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


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

>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 фиксированым - бумагу экономишь что ли?


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

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


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

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


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

>SaS13 © (30.10.02 16:42)

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


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

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


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

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


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

>Johnmen © (30.10.02 16:17)

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


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

>Vint © (30.10.02 15:42)

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


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

>SaS13 © (30.10.02 15:22)

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


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

>Johnmen © (30.10.02 10:03)

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


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

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


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

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


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

>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:00:00) [20]

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо