How to hide a button based on a zero count of a unrelated subform?

chrisb29762052

03-05-2015

I am a beginner at this. Try many different ways with no success. I found the following info in an old discussion group. There was no info to indicate that it worked. 

It is not exactly what I need. I tried to adapt it with no success.


" in the click event of the remove button should have something like this

if (this.parent.instanceManager.count > 1){

  this.parent.instanceManager.removeInstance(this.parent.index);

} else{

  xfa.resolveNode("Subform1[0].cmdRemove").presence = "hidden";

  this.parent.instanceManager.removeInstance(this.parent.index);

}

And you should have an initialize event for the subform

if (this.instanceManager.count > 1){

  xfa.resolveNode("Subform1[0].cmdRemove").presence = "visible";

} else{

  xfa.resolveNode("Subform1[0].cmdRemove").presence = "hidden";

}

I basically want to hide a button if the count of a subform get to zero. The subform has a start of zero count. If somoene decide to delete all the said subform, I need the targeted button to be "hidden". Any assistance would be much appreciated.

Answers (3)

Answers (3)

radzmar

MVP

04-05-2015

Ahh ok, I see what's the problem.

the indexChange event doesn't fire if there aren't any instances of an object.

So you need two separate scripts.

The first in the click event of the add button:


CmdHide.presence = "visible";


_Subform1.addInstance(1);


The second in the remove buttons click event.


CmdHide.presence = (_Subform1.count - 1) > 0 ?  "visible" : "hidden";


_Subform1.removeInstance(this.parent.index);


You can also remove the initialize event of the hide button and set it to be hidden by default in Designer.

chrisb29762052

04-05-2015

This work to make the button visible as soon as you create one instance of the subform but it doesn't hide it if the user decide later to remove all the subform after having created one or more. At that point I need the button to go "hidden" and it doesn't. I am only using a testing form at this time. I have forwarded it to your email if you don' mind looking at it. Thanks

radzmar

MVP

03-05-2015

I would use the indexChange event of the subform to control the presence of the desired button through a script.


MyButton.presence = this.instanceManager.count > 0 ? "visible" : "hidden";