Expand my Community achievements bar.

Radically easy to access on brand approved content for distribution and omnichannel performant delivery. AEM Assets Content Hub and Dynamic Media with OpenAPI capabilities is now GA.
SOLVED

Help: dynamic array expansion

Avatar

Former Community Member

Hello,
Sorry, but do not speak English, I have to go through the online translator from Google.


, Inspired by "Assure-Dynamics-Building-dynamic-tables.pdf " and your replies,

I managed to create the form that I wanted with one exception!

On my form, I can add, delete, move the lines at will, but I do not know how to

make the cell line adapts author based on data from the user.

Thank you for watching my new form, and correct me if possible.

Thank you again for everything.
ValdoFR

====================================================================

Bonjour,
Désolé, mais  ne parlant pas anglais, je dois passer par le traducteur en ligne de Google.


En m'inspirant de « Assure-Dynamics-Building-dynamic-tables.pdf »  et de vos différentes

réponses, j'ai réussis à créer le formulaire que je souhaitais à une exception prêt !!

Sur mon formulaire, je peux ajouter, supprimer, déplacer les lignes à volonté,

mais je ne vois pas comment faire pour que la ligne de cellules s'adapte en auteur en fonction

des données de l'utilisateur.

Merci de regarder mon nouveau formulaire et me le corriger si possible.

Encore merci pour tout.
ValdoFR

1 Accepted Solution

Avatar

Correct answer by
Level 10

Hi,

Here is the form with additional script: https://acrobat.com/#d=Vs7RXPG5LCjTydY*MNAibA.

I have used  the layout:ready event of the designation object. The exit event fired too soon, so didn't work.

Performance may be an issue if there are lots of rows.

Hope that helps,

Niall

View solution in original post

10 Replies

Avatar

Level 10

Hi,

Glad you found the example useful.

If I understand you correctly you are looking for the textfields to increase in height if the user inputs multiple lines of data.

Here is another example that shows how to build up dynamic objects: http://assure.ly/g80MVY.

Example 3 shows you how to set up the field so that the height increases on exit to show all of the data that the user has entered. Example 4 shows how to use the flowed layout to allow the expanding textfield to flow onto a new page if necessary.

If you select the textfield and then in the Layout palette for the Height you select "Expand to fit".

Parallels Desktop1.png

However this will only expand the individual textfields, so the table will start to look a bit disjointed.

If this is what you are after then you can use script to change the height of the other objects in the row. In some ways it is easier to use a table instead of objects in a subform - personal preference.

Hope that helps,

Niall

Assure Dynamics

Avatar

Former Community Member

Super,
it works, I did not expect that to be so simple!
by cons I still have a problem with the cells.

16-03-2011 02-48-21.png

Only the filled cell that is growing, so I'd like the whole row expands.

16-03-2011 03-11-59.png

My Form

==================================================


Super,
ça fonctionne, je ne m’attendais pas à ce que ce soit aussi simple !!
par contre j’ai encore un problème avec les cellules. Il n’y a que la cellule remplie qui s’agrandie, alors que j’aimerai que toute la rangée s’agrandisse.

Avatar

Level 10

Hi,

That is a drawback to using a subform for a row. If you use a table then the objects in the table row automatically maintain the same height. See the examples.

You achieve this with the subform row, but you will need script. The basic approach would be to check the height of the object (description) on exit. Then you set the height of the other objects to match. It will become more complicated if you have more than one object that can expand.

Also I wouldn't use the layout:ready event as performance will become very slow as more rows are added.

I'm out today, so can't get you a sample until much later.

Niall

Avatar

Former Community Member

Thank you for all these explanations, however I do not understand everything.
The Google translator misinterprets what you say.

I will await your return for an example if you wish,

it would be best that you directly modify my form so I can look at my other files.

In the meantime, thank you again. My Form
ValdoFR

===========================================

Merci pour toutes ces explications, cependant je ne comprends pas tout.

Le traducteur de Google interprète mal ce que vous dites.

Je vais attendre votre retour pour avoir un exemple si vous voulez bien,

le mieux serait que vous modifiez directement mon formulaire afin que

je puisse comparer à mes autres fichiers. Mon Formulaire

En attendant, encore merci.

ValdoFR

Avatar

Correct answer by
Level 10

Hi,

Here is the form with additional script: https://acrobat.com/#d=Vs7RXPG5LCjTydY*MNAibA.

I have used  the layout:ready event of the designation object. The exit event fired too soon, so didn't work.

Performance may be an issue if there are lots of rows.

Hope that helps,

Niall

Avatar

Former Community Member

Thank you,
is exactly what I needed, it remains for me to find how to hide Lele two bottom rectangle with a radio button depending on whether it is an invoice or quote.

Thank you again.
ValdoFR

Avatar

Level 10

Hi,

You would need to place script in the click event of the radio button EXCLUSION GROUP. This is the object in the hierarchy that contains each of the radio buttons.

There is an example here that goes through the various scripting options for changing an objects presence: http://assure.ly/h7whb8.

If you have two radio buttons "Invoice" and "Quote". In the Object > Binding palette the specified values may be "Invoice" = 1 and "Quote" = 2.

Then the following script will show the two rectangles for an Invoice, but hide them for a quote:

if (this.rawValue == 1)

{

     rectangle1.presence = "visible";

     rectangle2.presence = "visible";

}

else

{

     rectangle1.presence = "hidden";

     rectangle2.presence = "hidden";

}

This is Javascript and in the click event of the radio button exclusion group.

Happy St. Patrick's Day

Niall

Avatar

Former Community Member

Thank you Niall,
I tested your script with a dropdown and it does not AHU walls!

==============================================

if (this.rawValue == 1)
{
     sign1.presence = "visible";
     sign2.presence = "visible";
     accord.presence = "visible";
}
else
{
     sign1.presence = "hidden";
     sign2.presence = "hidden";
     accord.presence = "hidden";
}

==============================================

Avatar

Level 10

Hi,

If I understand you, the script did not work.

If you select the dropdown and go to the Object > Binding palette, you should check if the "Specify item values" is ticked.

Parallels Desktop1.png

Otherwise if you are not specifying the item values would need to change the if statement to test against the display values of the dropdown (eg what the user sees):

if (this.rawValue == "Invoice")
{
     sign1.presence = "visible";
     sign2.presence = "visible";
     accord.presence = "visible";
}
else
{
     sign1.presence = "hidden";
     sign2.presence = "hidden";
     accord.presence = "hidden";
}

With dropdown objects I would use the exit event.

Hope that helps,

Niall

Avatar

Former Community Member

Thank you,
it works, I just changed:


validationState for QUOTE by default.
and change to choose between QUOTE and INVOICE.

this does not work because the path of the object was not good,

it was necessary to: positionTotaux.Sign1.presence =

thank you again,

and soon on the forum.

Val