Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Динамическое изменение размера объектов (прямоугольник) в отчета  [new]
Valerii
Member

Откуда:
Сообщений: 749
Народ,
Вот решил после многих лет все-таки реализовать графику в стандартном отчете VFP 9
В свойствах объекта есть закладка Dynamics ....
Там есть какая-то возможность менять динамически ширину и высоту объекта
VFP9 предлагает ввести некоторые условия, в моем случае это Round(OrdersAmount,0)
и если условие истина, выполняется скрипт приложенный внизу.


LPARAMETERS m.toListener, m.tP1, m.tP2
* generated user-dynamic code
* for AdjustObjectSize method
* FRXRECNO: 55, TYPE: 7

* the following code translates from the standard
* fxMemberDataScript.ApplyFx parameters, which are used
* so you can cut and paste the CASEs below into
* Memberdata standard script later if you want to
LOCAL m.nFRXRecno, m.oProps
m.nFRXRecno = m.tP1
m.oProps = m.tP2

m.oProps.Reload = .T.
TRY
SET DATASESSION TO (m.toListener.CurrentDataSession)
* Conditions are evaluated in the Current (Report) datasession.
LOCAL liTemp
* These items use literal values
* or expressions that evaluate to numeric values.
* Expressions are evaluated in the Current (Report) datasession.
DO CASE
CASE Round(OrdersAmount,0)>0 && user condition: Round(OrdersAmount,0)>0
IF Round(OrdersAmount,0) * /10 > -1 AND ;
Round(OrdersAmount,0) * /10 < 64000
m.oProps.Width = INT(Round(OrdersAmount,0) * /10)
ENDIF
IF -1 > -1 AND ;
-1 < 64000 AND ;
((INT(-1) < m.oProps.MaxHeightAvailable) ;
OR (NOT m.oProps.Reattempt))
m.oProps.Height = INT(-1)
ENDIF
OTHERWISE && default result from FRX definition
m.oProps.Reload = .F.
ENDCASE
CATCH WHEN .T.
m.oProps.Reload = .F.
FINALLY
SET DATASESSION TO (m.toListener.FRXDataSession)
ENDTRY


Пробую получить динамическое изменение объекта при разном значении OrdersAmount ничего не происходит.
У кого-то получалось это или есть другие идеи? Не предлагать сторонние построители отчетов ....
Всем спасибо
16 фев 18, 12:58    [21196587]     Ответить | Цитировать Сообщить модератору
 Re: Динамическое изменение размера объектов (прямоугольник) в отчета  [new]
Valerii
Member

Откуда:
Сообщений: 749
Valerii
Народ,
Вот решил после многих лет все-таки реализовать графику в стандартном отчете VFP 9
В свойствах объекта есть закладка Dynamics ....
Там есть какая-то возможность менять динамически ширину и высоту объекта
VFP9 предлагает ввести некоторые условия, в моем случае это Round(OrdersAmount,0)
и если условие истина, выполняется скрипт приложенный внизу.


LPARAMETERS m.toListener, m.tP1, m.tP2
* generated user-dynamic code
* for AdjustObjectSize method
* FRXRECNO: 55, TYPE: 7

* the following code translates from the standard
* fxMemberDataScript.ApplyFx parameters, which are used
* so you can cut and paste the CASEs below into
* Memberdata standard script later if you want to
LOCAL m.nFRXRecno, m.oProps
m.nFRXRecno = m.tP1
m.oProps = m.tP2

m.oProps.Reload = .T.
TRY
SET DATASESSION TO (m.toListener.CurrentDataSession)
* Conditions are evaluated in the Current (Report) datasession.
LOCAL liTemp
* These items use literal values
* or expressions that evaluate to numeric values.
* Expressions are evaluated in the Current (Report) datasession.
DO CASE
CASE Round(OrdersAmount,0)>0 && user condition: Round(OrdersAmount,0)>0
IF Round(OrdersAmount,0) * /10 > -1 AND ;
Round(OrdersAmount,0) * /10 < 64000
m.oProps.Width = INT(Round(OrdersAmount,0) * /10)
ENDIF
IF -1 > -1 AND ;
-1 < 64000 AND ;
((INT(-1) < m.oProps.MaxHeightAvailable) ;
OR (NOT m.oProps.Reattempt))
m.oProps.Height = INT(-1)
ENDIF
OTHERWISE && default result from FRX definition
m.oProps.Reload = .F.
ENDCASE
CATCH WHEN .T.
m.oProps.Reload = .F.
FINALLY
SET DATASESSION TO (m.toListener.FRXDataSession)
ENDTRY


Пробую получить динамическое изменение объекта при разном значении OrdersAmount ничего не происходит.
У кого-то получалось это или есть другие идеи? Не предлагать сторонние построители отчетов ....
Всем спасибо


Все.. разобрался .. всем спасибо ...
16 фев 18, 15:35    [21197276]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить