Changing the background colour of a tabe cell, according to the selection in a drop down list | Community
Skip to main content
Staffle
New Participant
October 5, 2015
Solved

Changing the background colour of a tabe cell, according to the selection in a drop down list

  • October 5, 2015
  • 12 replies
  • 9222 views

I have a drop-down list wrapped in a subform in a table cell. Users can pick Green, yellow or red and I want the background colour to change according to their selection.

Can you tell me why this script is not working? I am sure some of you folks can see it in a second.


if (this.ListItem=="green") {

Subform1.DropDownList1.fillColor = "000,128,000"; BackgroundFill="solid";

}                  

if (this. ListItem=="yellow") {

Subform1.DropDownList1.fillColor = "255,128,000";

}

if (this.ListItem=="red") {           

Subform1.DropDownList1.fillColor = "255,000,000";     

}


Thanks

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by _Bruce_Robertson

Hi,

I think you should be able to use the following code in the change event of the dropdownlist.

form1.#subform[0].Table1.Row2.DropDownList1::change - (JavaScript, client)

if (xfa.event.change=="green") {

  this.fillColor = "000,128,000";

}                 

if (xfa.event.change=="yellow") {

  this.fillColor = "255,128,000";

}

if (xfa.event.change=="red") {          

  this.fillColor = "255,000,000";    

}

Regards

Bruce

12 replies

Staffle
StaffleAuthor
New Participant
October 13, 2015

Hi Bruce,

I checked all the cells with scripts and there is nothing on an exit event.The problem was that the subforms were all called Subform1 instead of 1, 2, 3, 4.

So, this code works fine now:

if (xfa.event.change=="green") {

  this.fillColor = "000,128,000";

}                 

if (xfa.event.change=="yellow") {

  this.fillColor = "255,128,000";

}

if (xfa.event.change=="red") {          

  this.fillColor = "255,000,000";    

}

Many thanks...all good!!!

Lisa

_Bruce_Robertson
New Participant
October 12, 2015

Hi Lisa,

There seems to be some code (I guess from an earlier attempt) in the exit event of the Subform1 that contains the drop down.  This code is no longer required and should be removed.  It is this code that changes the brackground back to green (because the if statement only has one "=" sign).

Bruce

Staffle
StaffleAuthor
New Participant
October 12, 2015

Hi Bruce,

The script in row 1 was sent to me earlier in this discussion by "sp215". I just cut and pasted it, not checking the syntax...not noticing the missing }s.

I want to use my script (as in rows 2, 3, 4) and fill the whole cell, not only the border. It works fine until I exit, then every cell defaults back to green.

What script do I need on exit event to make it stick?

Thank you!

Lisa

_Bruce_Robertson
New Participant
October 12, 2015

Hi Lisa,

Have a look at this sample.

https://sites.google.com/site/livecycledesignercookbooks/home/Project%20Status%20Report_2.pdf?attredirects=0&d=1

You had a syntax error in the script, the closing brace was missing from the if statement.  In the script editor there's a book with green tick overlay icon that will check your scripts for syntax errors (you might have to show the Warnings window ...  select Windows ... Report (it should appear at the bottom of the screen)).  Also in Acrobat make sure that ... "When exception is thrown:" is set to break under Edit ... Preferences ... JavaScript.

The script in row 1 updates the "ui" portion of the drop down list, the other rows update the whole cell, you had a mix and I'm not sure which you wanted.

Regards

Bruce

Staffle
StaffleAuthor
New Participant
October 9, 2015

Hi,

Thank you for your suggestion. Unfortunately, the scripts are not working as hoped.

I put the form "Project Status Report_2" in the shared Google folder here: PDF forms.The drop-down list in question is in section "3. Deliverable Status".

I added your scripts on enter* and change* to the first row, second column.

Rows 2-4 have the script that changes the colour but on exit, every cell defaults back to green. Do you know how I can fix that?

Thanks again!

Lisa

Staffle
StaffleAuthor
New Participant
October 9, 2015

Hi Bruce,

Can you tell me if this is the correct link:

https://drive.google.com/folderview?id=0B2VrTxepsjnsUWRGeG9SblZPSTA&usp=sharing

Thanks!

Lisa

October 8, 2015

Hi,

add this code to the enter event of the dropdown.

this.resolveNode("$").ui.oneOfChild.border.fill.color.value = "255, 255, 255";

add this code to the change event of the dropdown.

 

if ($.boundItem(xfa.event.newText) == "Green") {

  this.resolveNode("$").ui.oneOfChild.border.fill.color.value = "0, 128, 0";

 

if ($.boundItem(xfa.event.newText) == "Red") {

  this.resolveNode("$").ui.oneOfChild.border.fill.color.value = "255, 0, 0";

  

if ($.boundItem(xfa.event.newText) == "Yellow") {

  this.resolveNode("$").ui.oneOfChild.border.fill.color.value = "255, 204, 0";

_Bruce_Robertson
New Participant
October 8, 2015

Hi Lisa,

You should be able to set the file to "Anyone with the link" and then post the link that Google generates.  Have I look at this page Change your sharing settings - Drive Help

Regards

Bruce

Staffle
StaffleAuthor
New Participant
October 7, 2015

please check forums_noreply@adobe.com. I needed an e-mail address to share the folder and that's what I have. If you have an additional address, I'd gladly add it.

https://drive.google.com/drive/folders/0B2VrTxepsjnsUWRGeG9SblZPSTA

Thanks!

_Bruce_Robertson
New Participant
October 6, 2015

Hi Lisa,

I'm getting a "The folder that you were viewing no longer exists or you no longer have permission to access it. You have been moved to My Drive." message when trying to view your folder.  Can you check the sharing permissions.

Thanks

Bruce