Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Ширина DW  [new]
_Гость
Guest
Есть DW c набором колонок,
на печать выводится то же DW, но при этом некоторые колонки скрываются(делаю невидимыми и переношу в начало(Х=20) ) для того чтобы документ печатался на А4, но проблема в том что в DW сохраняеться старая ширина области DW, лезут пустый страници. Как побороть?
8 июл 04, 10:06    [792470]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
rcryo
Member

Откуда: Москва
Сообщений: 323
В первоначальном отчете, в редакторе, перенесите эти колонки влево, и программно (или через expression ) при открытии отчета устанавливайте в нужную позицию или скрывайте

По другому не получится. Или я не прав?
8 июл 04, 13:33    [793422]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
_Гость
Guest
Вся заковыка в том что, после того как доставить колонки а потом их снова скрыть уже держится найбольшая ширина, хотя до добавления колонок все как надо. То есть не происходит перечитывания ширины занятой области.
8 июл 04, 13:54    [793521]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Vovik@PB
Member

Откуда: Санкт-Петербург
Сообщений: 67
Встречался с этим, факт:

Datawindow, изменение количества колонок, scrollbar


Как победить не нашел =(

-------------------
PB 9.0.1 build 7096
8 июл 04, 20:22    [794949]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Филипп
Member

Откуда: Boston, MA, USA (c 1989 ) б. Москва
Сообщений: 1880
Враки, смотри мой ответ.
8 июл 04, 21:11    [795010]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
_Гость
Guest
У меня PB 9.0.1 7119,
на сколько я убедился в новых билдах меньше багов.
Так что выходит переходить на предыдущий билд?

Может есть какая то возможность принудительно перерисовать DW с новыми параметрами?
9 июл 04, 09:39    [795411]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Vovik@PB
Member

Откуда: Санкт-Петербург
Сообщений: 67
Филипп
Враки, смотри мой ответ.


Во-первых не враки... =)

Во-вторых, возможно, в конкретном билде 7066 эта проблема решена, хотя сомневаюсь (Скорее всего, вы не правильно поняли проблему, или не увидели ее, но это не значит, что она отсутствует). Сейчас поставил последний 7204 там все тоже самое, а откатыватся на предыдущие билды нельзя, там других багов полно.

Так что вопрос не закрыт.
12 июл 04, 16:38    [800679]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Levon
Member

Откуда: Донецк
Сообщений: 148
to Филипп:
по поводу вашего ответа. А как вы прячете столбцы? У меня при изменении свойства Visible тоже ничего не происходит. Я так понял, никакого принудительного перемещения вы не делаете. А как тогда?
12 июл 04, 17:51    [800997]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Филипп
Member

Откуда: Boston, MA, USA (c 1989 ) б. Москва
Сообщений: 1880
Levon, у Vovik@PB несуществующая проблема состояла в том, что горизонтальный скроллбар видите-ли не убирался, когда он колонки прятал (в гриде). У меня он убирается/появляется ИМЕННО тогда когда надо, в ЛЮБОМ билде РВ9.
У вас же проблема с печатью, что несколько другое.
Можно пытаться делать следующее - Modify("DESTROY те колонки, которые вы прятать пытались")...
12 июл 04, 18:42    [801160]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Levon
Member

Откуда: Донецк
Сообщений: 148
Не, не получается. Столбец-то уходит, но остальные остаются на местах. А мне надо, чтоб они подвинулись, и желательно, чтоб после печати всё встало на свои места
13 июл 04, 14:23    [803050]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Levon
Member

Откуда: Донецк
Сообщений: 148
Не, не получается. Столбец-то уходит, но остальные остаются на местах. А мне надо, чтоб они подвинулись, и желательно, чтоб после печати всё встало на свои места
13 июл 04, 14:32    [803087]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Ikar
Member

Откуда: Москва
Сообщений: 928
Ну, я думаю, что можно попробовать так:
1. делаем точно такой-же dataobject, только в нем все поля имеют visible=0 (false)
2. при печати отчета подменяем dataobject, через Modify() "подымаем" все нужные поя в нужном порядке, печатаем
3. возвертаем dataobject обратно

---
С уважением, IKARКартинка с другого сайта.
ikarhomecenter@narod.ru
IkarHomeCenter
13 июл 04, 14:43    [803127]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
ifem
Guest
When you hide a column, also set its X position to 0. You will then need to recreate the datawindow to get it to recalculate the margins.
This will also destroy your data, so you need to copy it to a datastore first.
--------------------------------
datastore lds_temp
dw_1.setredraw(False)
lds_temp = create datastore
lds_temp.dataobject = dw_1.dataobject
dw_1.rowscopy(1,dw_1.rowcount(),Primary!,lds_temp,1,primary!)
dw_1.Create(dw_1.Describe("DataWindow.Syntax"))
lds_temp.rowscopy(1,lds_temp.rowcount(),Primary!,dw_1,1,primary!)
destroy lds_temp
dw_1.setredraw(True)
13 июл 04, 16:45    [803699]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Филипп
Member

Откуда: Boston, MA, USA (c 1989 ) б. Москва
Сообщений: 1880
На крайняк я имел в виду что-то в духе совета ifemа.
Можно ещё попробовать после прятания колонок слегка resizнуть сам datawindow control туды-сюды, может он перекалькулирует margins...
13 июл 04, 19:45    [804332]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Ширина DW  [new]
krk
Guest
Ещё вариант:


if this.RowCount( ) > 0 then
this.SetRedRaw(False)
la_dwdata = this.Object.Data
this.Create(this.Describe("DataWindow.Syntax"))
this.SetTransObject( sqlca )
this.Object.Data = la_dwdata
this.SetRedRaw(True)
end if
9 фев 12, 10:47    [12059893]     Ответить | Цитировать Сообщить модератору
 Re: Ширина DW  [new]
Riska
Member

Откуда: Израиль
Сообщений: 989
Не проверял, но может быть для перересовки поможет dw_1.GroupCalc()
12 фев 12, 15:46    [12077347]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить