Hello. Good to see glide added way to control visibility based on multiple conditions (AND / OR). Thanks. However, it seems like there may be an unrelated bug?
I have two sheets A and B. B has a relation column based on a matched column present in both sheets. B has a lookup column based on the relation column. B does show proper value for the lookup column. In B, first two rows for the lookup column have values while last three rows value is blank.
Now, in layout, when I build a condition on this lookup column, “is empty” and “is not empty” behave in opposite way. As if there is a bug in if/else in your code - there content has been switched - wrongly.
I was too fast to conclude. Actually as Jeff said, this workaround didn’t fix this situation because condition for visibility is based on a formula field which presents some constraints when deploying this workaround.
If I put the formula field on the form and make it hidden, on submit the value is overwritten in the sheet which invalidate the entire column because it is an array formula. To fix this, I deployed a time-driven trigger in spreadsheet that applies formula to the column every minute. This is not a good workaround because it modifies the entire column (not just that particular cell related to the record). It will adversely affect other user’s state. Plus running a trigger every minute is resource consuming.
The InviterCount is basically # of items in the inline list. When I add / delete items from the list, the text entry isn’t updated. It is updated only once when form opens. That doesn’t work with the condition.
I tried to pull InviterCount in the “Add a family member” screen to see if I could build a condition there but it presents the exact same issues as mentioned in 1 and 2.
There is another issue with the workaround. If cell value with formula changes (added a family member) and then I press “Done”, it overwrites the correct value with literal old value. Invalidating entire column with first cell which has ArrayFormula reading like “Array result was not expanded because it would overwrite data in…”. Now even my time-driven trigger can’t fix this column.
Create two separate sheets
One where your form will submit to and one that will present your data the way you want.
You don’t have to use the same sheet for submit and present
Run a query formula to pull the data you need over the present sheet, this way you have no conflict.
In glide you can select the form sheet for the form button and the presenter sheet for the component view but turn off editing.
Thanks. I will explore this option of two sheets. Looks like it has many uses. But for now, I wrote a time-driven trigger on my sheet that detects first cell value as “#REF!” of the column in question. Then it clears entire column and then assigns the formula to the first cell. This works as a workaround for now. I hope glide team fixes the issue of fetching field values which are used on the form in conditions or other purpose. This will not need a workaround after that.
I must not understand the visibility logic. I need to add conditions and want one that is first and want to add one with “OR” and then add another with “AND” and might even need another with something…but appears that no matter what I need the choice I make for the 2nd condition as to OR/AND will also be the one for the 3rd and 4th etc. The AND/OR choice does not move down below the last one added and the new one being setup. Am I correct?
Can’t have both OR and AND. What I do is create the OR logic in the data editor as its own if-then-else column. Then use that column in conjunction with another value using AND in the visibility.