Can I disable "Clear" on an enum?

This is an enum and I don’t want users to be able to tap on “Clear.” It serves no purpose in my app and is only a distraction. Is there no way to disable it?

You could conditionally change the word "Clear" to an empty string "" for that form, using CONTEXT("View") and the UX>Localization settings. But I think the button will still be there if they click the blank area where the text would be.

Are the users allowed to change the Enum once a value has been set? If not, maybe use Editble_If ISBLANK([_THIS]), and that should hide the Clear button.


Another thought:
Try setting the Valid_If to ISNOTBLANK([_THIS]) and see if the Clear button is still available. I don’t have time to test it at the moment. Just an idea.


Thanks! I’m using the “valid if” slot to create the list of choices so I don’t think ISNOTBLANK([_THIS]) will work in my case.

In that case, why dont you add one more physical column to ref to field in question with ENUM list using initial value set up and reset on edit mode as well. And place the same ISNOTBLANK([_THIS]) condition for validity check. Then hide this filed from the eyes of app user.
Or you just simply move the enum list expression from validif constrain to suggested value.
Either way, I thing it is possible sir.

1 Like

I prefer not to use “suggested value” because it gives the user the option to type something in, which wouldn’t make sense because this is just a list of options. Interestingly, even if “Allow other values” is off, the user can still type in another value if I put the list in “suggested value.”

I don’t understand how to ref another column to this field.

I think I’ll go with @GreenFlux’s UX>Localization solution. It produces the appearance I was looking for and I doubt that many people will click on something they can’t see. Even if they do, they’ll be able to recover from it pretty easily in this case.
NOTE: An empty string didn’t work. I need to have one space. Optically it’s the same but instead of “” I needed to use " " in the expression.

Still, I think it would be nice to be able to just get rid of “Clear” in contexts where it doesn’t make sense. Also, I find the documentation to be lacking. There are several articles on how to make dropdown menus but I couldn’t find clear explanations about each of the options. For example

I have “Default” in the “Values” spot, and if I delete it I get a warning, but I don’t really understand how this works and couldn’t find an explanation. In my context turning “Allow other values” on and off doesn’t seem to change anything. If I could find detailed explanations about each of these options (what they do in which contexts, when they are useful and when they have no effect), that would help to avoid a lot of trial and error.

1 Like

Yes they are not well documented.

Just a question. You re making list items by select expression.
The table you referring to should be able to add new rows. Create slice out of that table but read only then use slice in the valid if constrain. I think user can’t add new values

Thanks! What I’m doing is allowing the user to change a value in one cell of the spreadsheet via a detail view:

So, I’m not adding rows. The choice that the user makes changes the content of a list that the page links to.

Also, after I posted last I found that turning “Allow other values” off caused an error. I don’t really understand how it works but I turned it back on.

honestly me neither… I play around with different settings and find a way all the time at the end. Yes, not effective.
Out of curiosity, to construct the list, i m wondering what different or same story will happen when we user unique expression rather than select. Both return list type so it will bring the same result?

Appsheet mystery.

1 Like

SELECT(..., ..., TRUE) should be equivalent to UNIQUE(SELECT(..., ...)) and UNIQUE(SELECT(..., ..., FALSE)).

As I recall, any duplicates get ignored when I have a list in the “Valid if” slot, even if I neglect to use the SELECT(..., ..., TRUE) form that @Steve indicated.

1 Like

Yup . . .

{“all videos”}+SELECT(Seminar[Source], TRUE, TRUE)+{“all videos”}


Screen Shot 2020-03-21 at 00.42.56

Duplicate value ignored.