Tap Forms Database Pro for Mac, iPhone, iPad and Apple Watch › Forums › Using Tap Forms Pro › Conditional formatting
Tagged: Conditional Formatting
- This topic has 41 replies, 7 voices, and was last updated 2 days, 20 hours ago by
Brendan.
-
AuthorPosts
-
April 23, 2026 at 3:40 AM #54011
DomParticipantHello
Is condiional formatting available in layouts ?
Thanks.April 23, 2026 at 10:38 AM #54012
BrendanKeymasterHi Dom,
No, I don’t have conditional formatting other than on Number fields you can have it display a value in red for negative numbers.
What sorts of rules are you looking for around that?
Thanks,
Brendan
April 23, 2026 at 10:59 AM #54013
DomParticipantHi Brendan
This is a typical example regarding owner-dues. I have 2 reference numbers. One for general owner-dues, one for special works. I am checking the account of each owner with both reference and formatting what each owner is supposed to have paid.
FYI the attached table with conditional formatting comes from GRIST
ThanksAttachments:
You must be logged in to view attached files.April 23, 2026 at 12:01 PM #54015
DomParticipantGRIST doc on conditional formatting.
https://support.getgrist.com/conditional-formatting/August 13, 2026 at 6:36 AM #54451
DavidParticipantI’m new here (still in evaluation), but would just like to second this suggestion to implement conditional formatting and field display in layouts. I don’t know how difficult it is to implement, but there are a number of great use cases where, perhaps, a checkbox entry for a record drives display of additional fields. This is especially valuable on phone/pad layouts where real estate is at a premium.
Thanks
/dpw
August 14, 2026 at 9:19 AM #54455
BrendanKeymasterHi David,
Thanks for the feature suggestion. So you’re asking for both conditional formatting AND conditional display? So a field would be hidden or shown based on the value of some other field?
Thanks,
Brendan
August 14, 2026 at 12:45 PM #54457
DavidParticipantYes, both. Here’s a screenshot of the Ninox “layout” editor for a simple database that I created to log road trip data showing a “Gallons” field to record fuel purchases at a stop (1). That field and the associated cost field is only shown if the stop is flagged in the “Fuel” boolean field (2).
I’m thinking about migrating off of Ninox.
Thanks,
/dpw
Attachments:
You must be logged in to view attached files.August 15, 2026 at 9:15 PM #54459
BrendanKeymasterAh, interesting. So your condition just says “Fuel”. Does that imply that the Fuel field must be YES in order for the Gallons and Cost fields to display? Or does the formula show as “Fuel = YES” or something like that?
It’s definitely something that would be interesting to work on. Not sure how well it would work for a custom layout as the position of items are fixed (other than they’d simply disappear or appear). But the Default and Universal Layouts could work.
Thanks,
Brendan
August 17, 2026 at 6:37 AM #54461
DavidParticipantYes – “Fuel” is a boolean variable/field (i.e. value is either 1 or 0), therefore it can be used by itself in a conditional expression.
Thanks for taking a look at it. I look forward to learning more about your system.
August 21, 2026 at 10:56 PM #54474
BrendanKeymasterConditional formatting is coming…
Attachments:
You must be logged in to view attached files.August 21, 2026 at 11:47 PM #54476
DomParticipantSuper!
September 19, 2026 at 6:19 AM #54543
DomParticipantHello
I am exploring the new conditional formatting on iPadOS and I want to change the color of a date field by comparing the value of this date field with “today”. Is there a way to implement this as a rule ? And is it possible to execute the comparison each time I open the form ?Another question completely disconnected: do you have plans to implement some AI in Tap Forms ? EG to do some reporting by querying a form in natural language ?
Thanks.September 20, 2026 at 8:36 PM #54548
BrendanKeymasterYes, you can do that already. When you select a Date field on the Conditional Rule editor, you’ll see a popup that lets you select some options for the comparison.
Is todayis one of the options.Right now I just have AI used to generate forms for you based on a form name and description.
I did play around with trying to get an LLM to do some generic queries based on data in the database, but it didn’t work that well. LLMs don’t seem to handle structured data very well. It’s great for summarizing large blocks of text and pulling out bits of data. But I was trying to ask it questions like “What’s the largest expense paid in the Electronics category?” It failed when using the local LLMs built-in to Apples OSs. And when I tried to get an external LLM to do it, I ended up going over the token limit because it would have to send the entire form’s data to the LLM service and then process the data there. It was just too much data to send.
I did add a few new shortcuts to Tap Forms Pro 1.4 recently so you could ask it some pointed questions without scripting. Such as
Find Records By Field ValueandFind Most Common Value in Form in Field, etc.September 20, 2026 at 9:57 PM #54549
DomParticipantThanks. What I want to do is to format a field when another field (expiry date) is < today. I did not find this test in the list. Regards
Regarding the need for reporting, what I did is to export the form as a csv and use this csv with AI. It worked great.Attachments:
You must be logged in to view attached files.September 21, 2026 at 9:42 PM #54552
BrendanKeymasterAh I see. I have
is today, but not before or after today. I’ll have to add that.But you could use the
is in the nextandwas in the lastoperators. Then you could put in the number of days/weeks/months/years, etc. Just put something in large.September 21, 2026 at 10:16 PM #54553
DomParticipantThanks Brendan. I could not make the conditional Formatting to work on an expiry date in the last e.g. 50 years. I suspect a problem in the date format. I will continue trying.
I have seen 2 other problems:
– deleting one rule when you have several does not work (clicking on the delete rule displays the list of fields)
– 2 tick marks (see screen capture)
RegardsAttachments:
You must be logged in to view attached files.September 22, 2026 at 9:45 AM #54555
Mark MoranParticipantNot sure if I should start a new thread of just jump on this one. I have a question regarding the new conditional formatting. If you hide a field by looking at values in itself, how do you update it if that becomes necessary. I have a field in one of my databases that 80% of the time is probably completed. But the other 20% it’s empty and I’d like the field to be hidden when empty. But if I need to change the field in the future I have to go into the settings? While I’m on the topic the same thing for auto-increment. Auto increment will sometimes fail. (If I duplicate a record at times it will duplicate what should be a unique field, other times it will increment.) If I want to correct it I have to goto settings turn temporarily turn off auto increment for that field.
September 23, 2026 at 12:31 PM #54559
BrendanKeymasterSo you’re hiding the field based on values within the field itself? The field would still be visible on the Multi-Column List View because that doesn’t participate in the conditional visibility rules. So if you need to get the field back, you’d have to do it from there.
September 23, 2026 at 7:13 PM #54560
Mark MoranParticipantYes, I’m hiding it if it’s not in use. Most of the time it won’t be needed but the Multicolumn List view trick will work for often I’ll use it. How about overriding the auto increment field anything easier than turning off and on again?
Mark
September 23, 2026 at 9:21 PM #54561
DomParticipantBrendan
I would appreciate an answer to my last message. Thanks.September 26, 2026 at 7:05 PM #54575
BrendanKeymasterHi Dom.
Oh, I’m sorry about that.
Thanks Brendan. I could not make the conditional Formatting to work on an expiry date in the last e.g. 50 years. I suspect a problem in the date format. I will continue trying.
I have seen 2 other problems:
– deleting one rule when you have several does not work (clicking on the delete rule displays the list of fields)
– 2 tick marks (see screen capture)
RegardsThe “was in the last” doesn’t use a date. It uses an integer for the number of days, years, etc. It doesn’t matter what date format you use to display the dates either.
I’ve not seen the issue where deleting a rule displays a list of fields. It generally shows an alert asking you to confirm the deletion.
I’ve also not seen the issue of deleting one rule when you have many not working. When I delete a rule, the rule is removed from the list of rules and the next rule in the list is selected.
I’ll have to look into the 2 checkmark buttons appearing. That’s odd.
September 26, 2026 at 7:38 PM #54576
BrendanKeymasterah… you mean the “Remove Condition” function is just displaying the list of fields. I see that now. I’ll fix it.
September 26, 2026 at 7:45 PM #54577
BrendanKeymasterOk, I’ve just fixed that for the next iOS update. It worked properly on macOS, but it was misbehaving on iOS. Odd since it’s the exact same code for this screen.
September 26, 2026 at 8:58 PM #54578
DomParticipantHi Brendan
The condition compares to a date field, This date field has a format for displaying the date. that’s what I meant. I did not succeed making this work. Yet.September 27, 2026 at 1:12 PM #54580
DomParticipantHello
I made a very simple form to test the conditional formatting of a text field based on a test of a date field. Testing against today works, testing against a number of days (more than or less than) does not work.
Thanks.-
This reply was modified 1 month ago by
Dom.
Attachments:
You must be logged in to view attached files.September 30, 2026 at 12:31 PM #54589
BrendanKeymasterI have an update coming soon that will have an “was before today” and “is after today”, so that may help also.
September 30, 2026 at 1:56 PM #54590
DomParticipantBrendan
That’s great and it should fulfill the need. Still I don’t understand why the -very basic- example I gave does not work. Thanks.October 5, 2026 at 8:59 AM #54608
DomParticipantThanks Brendan for the fix on the date vs today. The example I gave in the message just before this one does not work (except when the expiry date is today).
One more bug: the calendar for date picking does not work.Attachments:
You must be logged in to view attached files.October 5, 2026 at 9:46 AM #54610
BrendanKeymasterThe date will be updated in the field when you dismiss the date picker popover view.
Can you please email me your form template so I can test it out here? Send it to support@tapforms.com
Thanks,
Brendan
October 5, 2026 at 9:55 AM #54611
DomParticipantThanks Brendan for the tip regarding calendar / picking date. Form sent. Regards
October 7, 2026 at 6:28 AM #54622
LeoParticipantI’ve noticed that conditioneel formatting does not refresh the current screen so the condition show or hide Fields Only show or side the field after an exit and return to the current record.
(and also calculation is not always done after a change in Fields ,but that might be another issue)
This is on MACOS. On iOS it works like a charm.
October 7, 2026 at 10:33 PM #54623
BrendanKeymasterOctober 11, 2026 at 1:39 AM #54627
LeoParticipantBrendan,
I’m using default layout.
October 15, 2026 at 2:41 AM #54635
Melanie SchaafParticipantHey everyone,
I also have a few questions about conditional formatting and observed some strange / annoying refreshing behaviors.
Let’s talk about formatting rules first.
I have tested this first with a condition based on a text field (with a pick list to be precise); Make text red if text field equals “Red”.
This works perfectly in all three layout types (Default, Custom and Universal), the text color in the conditional field refreshes immediately when I change the value in the text field.When I make a condition based on a checkmark, however, (e. g. Make text red if checkmark is false), I noticed that while in Default and Universal layout, the text color refreshes immediately like with the other condition described above, when I turn the checkmark off and on, but in my *Custom* layout it doesn’t refresh. I have to either leave the record and go back to it, to see the switch in the checkmark affect the text color, or I have to press the “Recalculate formulas and scripts for all records”-button for it to change the color. Simply pressing “Recalculate formulas” will *not* trigger the format switch either, which I suppose it should, if recalculate all works, why shouldn’t recalculate this one record work?
But apart from that I guess the formatting should update in my Custom layout right away, like it does in the other two layout types and with the other conditions…
Let’s move on to visibility rules.
I have tried a condition that states: Show field when List field is equal to “Show”.
The field will always show, no matter what the value in my List Field is, in every layout type, whether it is Default, Custom or Universal.
I also tried a condition with a number field (Show when number field is greater than “5”), this also did not work. Neither did a checkmark with a similar condition with show.So I have been wondering what kind of conditions would work with the “Show” option? I have not been able to find any in any layout.
I even tried the Hide Field in the field options (which by the way only hides the field in the Default Layout, it remains visible in Custom and Universal), thinking that maybe if the field was hidden by default, “Show” in Conditional Formatting might make it visible. This doesn’t work either.So next I tried the opposite: Hide field when List field is equal to “Hide”.
This works in the Default layout, but only after I leave a record and re-enter it (both “Recalculate”-buttons won’t refresh it this time).
It doesn’t work in the Custom layout at all, neither with “Recalculate” nor by leaving and re-entering the record.
It works in the Universal layout immediately after I change the value.I tried this with a Checkbox field and the Hide action and the behavior is exactly the same.
I also tried hiding an image field, which also showed the same results; worked immediately in the Universal Layout, kinda worked in the Default Layout, after leaving and re-entering record, recalculation does nothing, and it doesn’t work at all in Custom Layouts.
Apart from the refresh and recalculate issues, this brings me to the question: Is the Visibility Conditional Formatting simply not available in Custom Layouts? Is it planned for future releases?
And why is the refreshing behavior so inconsistent throughout different conditions and layouts?
Brendan, when you are reading this, I’d be happy to send you my test database via email, though I am pretty sure the behaviors I described above are universal. At least I was able to reproduce them in my other databases…
All this has been tested on MacOS.
Looking forward to your feedback!
Thanks!
Melanie
October 15, 2026 at 11:44 AM #54636
Daniel LeuParticipantOh, I’m not the only having problems with the show/hide feature.
Cheers, Daniel
---
See https://lab.danielleu.com/tapformspro/ for scripts and tips&tricksOctober 16, 2026 at 1:22 PM #54638
BrendanKeymasterHi Melanie,
I have fixed the refresh issues with the checkbox fields not triggering an immediate refresh of the record.
The visibility rules weren’t really meant for the custom layouts as those are more fixed format layouts than dynamic layouts like the Default and Universal layouts.
If you’d like to send me your test document that would be good. But as I mentioned, I have fixed the refresh issues with the checkmark field activating the conditional rules.
Thanks,
Brendan
October 19, 2026 at 2:11 AM #54647
Melanie SchaafParticipantHi Brendan,
thanks for your reply!
So this means that with the next update both formatting and visibility conditional formatting should always refresh immediately, no matter what the condition is (checkmark, text, etc.), without the necessity of leaving and re-entering the record or using the Refresh buttons? This is great!
Except of course for the Custom Layout, because, as you mentioned, visibility conditional formatting was never meant to work for custom layouts. This is unfortunate as I work with custom layouts almost exclusively, and was thrilled at the idea of adding variability to layouts, for example by showing certain list fields only if a checkmark is set, and the like… Probably I am not the only one hoping for a functionality like that.
I was hopeful, because in the current documentation it says: “A visibility rule determines whether the target field *or layout item* is shown for the current record. Each rule’s result is either Show or Hide.”
I assumed that citing layout items here explicitly meant custom layouts because the other two layout types don’t really have *layout items*.
This should possibly clarified in the documentation to say that visibility condidional formatting does not work in custom layouts. Also, what exactly does “- Prefer layout-item rules when a condition should affect one layout only.” on the documentation page for Conditional Formatting mean exactly in this context?
Speaking of the documentation page for Conditional Formatting:
The very example cited there for Visibility rules does not work as described:
I’m quoting from the current documentation page for Conditional Formatting:
For example, to show an Approval Notes field only after approval is requested:
1. Add a Visibility rule to Approval Notes.
2. Set Action to Show.
3. Under When, choose the Approval Requested checkmark field and set it to is true.
4. Save the rule.When a target has visibility rules, it is visible by default unless a matching rule changes that result. If more than one visibility rule matches, the last matching rule wins. Put broad rules first and more specific exceptions later.
Like I mentioned in my previous post, the “Show”-Action does not work at all. I have built this exact condition in my test database and it does not work. The field will always show, no matter what the value of the checkmark is. This is not a refresh issue. It doesn’t work at all. Visibility conditions only work with the “Hide”-Action. I have sent you my test database per email. It has exactly this condition build in for a field and it does not work in any of the three different layout types.
Maybe I am not using it correctly, but like I said, I’d be interested in finding out how the “Show”-Action is supposed to work.
Thanks again!
Melanie
October 19, 2026 at 11:22 PM #54654
BrendanKeymasterThanks for your file.
I can certainly work on visibility rules for custom layouts. I just hadn’t thought it would be useful since custom layouts are static layouts.
And you’re right about the Show action not working. Fortunately there’s a Hide action that does work, which is just the opposite. I’ll work on fixing the Show option. So you can have it hide if it’s false and show if it’s true if you like.
Thanks,
Brendan
October 23, 2026 at 5:05 AM #54661
LeoParticipantLike I mentioned in my previous post, the “Show”-Action does not work at all. I have built this exact condition in my test database and it does not work. The field will always show, no matter what the value of the checkmark is. This is not a refresh issue. It doesn’t work at all. Visibility conditions only work with the “Hide”-Action. I have sent you my test database per email. It has exactly this condition build in for a field and it does not work in any of the three different layout types.
Hi Melany,
first make the condition to hide the field, then add a new condition to show the field, this way it will work as expected.
Took me a while to figure this one out but this will do the trickOctober 26, 2026 at 8:40 AM #54682
Melanie SchaafParticipantHello again,
Brendan, thanks for your reply!
Me personally, I think using visibility rules in a custom layout would be very useful, in order to build truly dynamic custom forms. I don’t think I’d be the only one to find it useful, but of course I don’t really know. It was the first thing I thought about, when I saw the update with the conditional formatting. But that doesn’t mean other users need it, so I understand it might not be worth your time. I would appreciate the feature though! ;-)
Thank you for fixing the refresh issues with the last update. This works much better now!
And yes, I am aware, that since “Show” doesn’t work, you can always build the opposite condition with “Hide”. And that is fine, of course! I was just wondering, why make the distinction if one of them does nothing. And I thought I’d mention that the example in the documentation does not work.
Also, Leo, thank you for pointing that out! If you make the field “Hide” with one condition, you can “Show” it again with another condition. Then “Show” actually works. I can’t think of an application for this from the top of my head, but that’s probably just my lack of imagination or complexity of my databases…
Cheers!
-
This reply was modified 3 days, 19 hours ago by
Melanie Schaaf.
October 26, 2026 at 8:00 PM #54685
BrendanKeymasterHi Melanie,
I fixed the Show visibility rule for the next update.
And I’ll work on the visibility rules for custom layouts.
Thanks,
Brendan
October 27, 2026 at 8:15 AM #54686
BrendanKeymasterThe next update will have support for conditional visibility rules for regular custom layouts. I worked on that yesterday.
-
This reply was modified 1 month ago by
-
AuthorPosts
You must be logged in to reply to this topic.