dominoGuru.com

Your Development & Design Resource

Suggested approach to Hide-When formulas

My hide-when game had seen some better days... I kept getting the logic backwards. I would hide something that I wanted to show or show something when I wanted it hidden or, when I finally thought I had gotten the formula juuuuuuust right, it would never show. I found that I was thinking about this all wrong... I just didn't get how hide-when formulas worked. I know, it's pretty darned basic, but it's something that failed to sink in. I have a pretty good grasp on them now, and found a pretty foolproof way of getting them to perform exactly how you want them to.

First, I'll show you how I understand hide-when's to work...

In formula, for example:

@If( val; hide; show)

The above formula example checks for the logical value in the val (for example, 1 or 0) and, if true, the element is hidden - otherwise it's shown. Pretty simple and basic - agreed. The problem that I always had was the logic behind the hide-when, as presented in the properties box...

If I had to write the properties box in a language, I couldn't really use javascript, formula, or any other language that I can think of... as they don't follow the logic of the properties box - so I'll try to use plain ol' english:

if val is true than hide this; else show this... now define val

Hide-When Properties Box

Not that this is a big deal, but when you're dealing with a very complicated hide-when formula based on field values, client types, access levels and the like, it can be very confusing when all of the other languages that you're dealing with don't have this type of flow.

Thus, I started using the following approach to deal with hide-when formulas: A nested @If statement!

@If( "I_want_to_show" ; @True ; @False )

Instead of field1 = "" | field2 != "", I use @If(field1 = ""; @True; field2 != ""; @True; @False). This pretty much keeps me in line with the flow of formula. Keeping in mind that @True hides and @False shows a given element, I find it much easier to get through a more complex formula.


About the author: Chris Toohey

Thought Leadership, Web & Mobile Application Development, Solutions Integration, Technical Writing & Mentoring

A published developer and webmaster of dominoGuru.com, Chris Toohey specializes in platform application development, solutions integration, and evangelism of platform capabilities and best practices.



More from dominoGuru.com


dominoGuru.com is powered by IBM Notes Domino XPages & hosted by Prominic.NET

Contact Us

Use our Contact / Feedback form or one of these email addresses:

Creative Commons License

Except where otherwise noted, dominoGuru.com by Chris Toohey is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.