Форум: "Основная";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
Внизвопрос по построению отчетов Найти похожие ветки
← →
stud (2003-07-22 13:38) [0]смысл в следующем: отчет по бд. QRDBText1.autostretch=true при этом текст в кампоненте автоматически подгоняется по высоте. так вот при этом еще и должна отображаться рамка вокруг этого компонента. но высота зависит от количества текста и рамка не рисуется полностью если высота текста не постоянна для всего отчета. как с этим бороться? и какие обработчики использовать?
onprint в компоненте результатов не дает
← →
Johnmen (2003-07-22 14:03) [1]Бороться можно единственным способом :
1. Убрать autostretch, autosize добавить wordwrap. Перед выводом - самому вычислять и устанавливать height.
2. Отказаться от рамки (самое простое).
← →
stud (2003-07-22 14:42) [2]а вопрос такой, можно ли во время печати банда узнать его текущий размер?
← →
Anatoly Podgoretsky (2003-07-22 14:49) [3]После печати, а во время только текущий.
← →
stud (2003-07-22 15:01) [4]а через какое св-во?
и в обработчие какого события это лучше сделать?
← →
stud (2003-07-22 17:50) [5]почему такая конструкция не работает?
qrdbtext1.height:=detailband1.height
в обработчике afterprint detailband
← →
stud (2003-07-23 09:20) [6]может кто-то всетаки знает как в qrep нарисовать нормальную таблицу с переменной высотой столбцов
← →
Dmitriy O. (2003-07-23 09:34) [7]А мне не понятно в чем сложность каждая строка это +15 к Hight(шрифт 10) очерчиваеш Frame если на Detail Band то увеличиваеш и его высоту.
← →
stud (2003-07-23 09:49) [8]в том и дело, что программно расчитываю высоту и изменяю ее, но при печати на принтер возникает черти-что. полосы на всю высоту листа!
← →
Johnmen (2003-07-23 09:51) [9]А на экране - нормально ?
← →
stud (2003-07-23 09:58) [10]а на экране отлично!
← →
Johnmen (2003-07-23 10:05) [11]Как печатаешь ?
Какой принтер ?
← →
stud (2003-07-23 10:08) [12]сначала препаре, превью, принт.
принтер HPlj5000
← →
Johnmen (2003-07-23 10:19) [13]Попробуй сразу Print, без Preview и Prepare. Каков результат ?
← →
Dmitriy O. (2003-07-23 10:26) [14]Глюк может быть еще в том что отчет в Qrp составляется два раза при составлении отчета и при его печати. Сохрани состаленный отчет в файл qrp потом открой и распечатай и если все ОК то глюк в этом. (этот глюк вылезает например при расчетах в Before Print) Обнуляй все установки перед составлением отчета.
← →
Anatoly Podgoretsky (2003-07-23 10:33) [15]HP пугает
← →
stud (2003-07-23 10:52) [16]если сразу print то результат лучше, но все равно немного нен то.
код такой:
for i:=0 to 4 do k:=max(k,quickrep1.QRPrinter.Canvas.TextWidth(evrydayq.Fields[i].Value));
i:=floor(k/169)+1;
DetailBand1.Height:=15*i;
qrdbtext1.Height:=DetailBand1.Height;
qrdbtext2.Height:=DetailBand1.Height;
qrdbtext3.Height:=DetailBand1.Height;
qrdbtext4.Height:=DetailBand1.Height;
qrdbtext5.Height:=DetailBand1.Height;
DetailBand1.Refresh;
k:=0;
нахожу длину самой длинной строки, рассчитываю на сколько строк она будет разбита+1 изменяю высоту банда и компонентов
может что не так?
← →
stud (2003-07-23 11:43) [17]и тишина......
← →
Johnmen (2003-07-24 09:58) [18]И вот тишина нарушена...:)))
>stud ©
Примерное описание решения проблемы (может не лучшее, но реально работающее) :
-- прописываем BeforePrint для бенда :
- запоминаем ширину "текста" W1
- делаем ему автосайз и получаем ширину "текста" W2
- отменяем автосайз и возвращаем W1
- делим W2 на W1, округляем к большему целому, -> N
- зная высоту "текста" для одной строки H получаем искомую высоту = N*(H+x), которую и выставляем (x - межстрочный промежуток, скорее всего = 1).
← →
stud (2003-07-24 11:04) [19]в общем вышеописаннай код далеат тоже самое, только foor на ceil поменять надо.
но после всех этих манипуляций на экране нормаьлное изображение, а на бумаге черт знает что!
решил немного по другому. бросил шейп на бенд и высоту этого шейпа сделал примерно на 5-6 строк текста.работает, но если высота будет больше то опять будут пробелы в сетке таблицы, но это помоему самый простой выход из положения
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c