Change value in editable column of table but limit change to list of values

I'm building a table with an editable column. I can't figure out how I can limit the changed value for the column to a list of approved values. I see components that might work, but I don't know how they can be used when a user double-clicks an editable field. Any help is appreciated.

Hi @adrooney! Would the tag dropdown column type work here?

I searched for a tag dropdown in components and don't see it. Is this a component that can be selected within the table next to each row of a column. Can you give me more information about your recommendation, how I access it, what it does and how I set the properties to do what I want? When I put {{query.data}} into a values field, can it be limited to one row of one column.

For components, this would be comparable to the select component. For using this within the table, you'd select Tag Dropdown as the column type -- more info on the set up of that column type here: http://community.retool.com/t/control-of-inputs-into-a-table/16349

Here's another example:

Based on the data source logic, if the row in my table has a project id above 15, then I should be able to select "started", "in progress", or "complete" for the project status:

However, rows where the project id is 15 or less, will only be able to select "started" or "in progress" :

The custom column types don't have the option for a dropdown, but you can use this workaround: http://community.retool.com/t/tag-table-column-type-deprecated-for-custom-columns/14670

Let me know if this is helpful for your use case

I'd like to clarify some information, It appears the workaround is for custom columns. I didn't know the difference between custom and non-custom columns. It appears custom columns are values not in the database but are variables. Is that right? My issue is how to update a table cell. Additionally, I set up a view in my database and the query is based on the view. I'm wondering if I can update the table if it was based on a view. Can you answer that also? Thanks!

Thanks for your response. I'm having a little trouble understanding which approach to use. It appears you are presenting 3 approaches as follows:

First, I need to understand the term custom columns. Is that an array of data that doesn't come from a table column? Similar to dimensioning a variable? When I entered the information as described in approach 1, it actually worked. At first, I couldn't understand where it found the validation strings. When I went back in to the setup screen, data source was changed to Unique column values. That made sense, but it won't be a practical way of solving the problem because we will refresh the database at times and the column will have all null values until each record is updated.

Can you tell me which approach to follow based on my requirements? I want to edit the column using a double-click and limit their entry to: "Product Page", "Page - General", "Page - Sizing Chart", "Homepage", "Page - Blog Post", "Collection Page". The table query is based on a view that I created in Postgresql. Is that a problem? There are only two columns in the query, serpstack, pagetype. Both are defined as character varying.

Hi @adrooney! I know we chatted a bit in office hours, so I think you may be closer to a solution now?

*It appears custom columns are values not in the database but are variables. *That's correct--they're generally front-end only rather than from the database

Yes, you can update the table if it was based on a view :blush: