Lock columns in view

I would love to be able to lock the view of a couple columns on a table - especially if the first one is a reference table and it’s getting long.

Working on a demo app right now and it’s getting very wide. The first row, one that I need to see, will go off the page consistently.

Of course, I can turn certain ones off, but I would love to be able to scroll through the entire table and not have to worry about losing my frame of reference.


Or being able to put in a formula to hide specific columns… i.e. I’m working on a gradebook, if a student has all of their assignments complete I would love to have a view that I just filter out all the columns(students) that are complete on everything

1 Like

+1 on equivalent of the Sheets 'freeze` function - make the entire column permanently visible, like the column titles

When you have over 10 columns, it’s near impossible to know which row you’re looking at when scrolling horizontally off screen. The ability to freeze the Display Column and Group Columns at the least would be a huge UX improvement

@Wil_Grace thanks for the feedback! It sounds like you prefer not to hide columns in your tables/views. What we’ve seen other users do is create multiple views of their data and hide all the columns that are not pertinent to their use case. Does that sound about right?

Personally I would love more options on hiding columns. I would love columns to be hidden on row details as well, but it seems this feature is coming.
But what I would really love, is the ability to hide per users.
Example : I have a kanban view, one for all users. But some users needs some informations on cards that others don’t need. And I don’t want to make one section for each user with their personal space. I would like that when specified (in table settings) their would be per users hiding.

Better, formulas in the view options!

Not quite - I’m happy with the Hide/Show feature.

It’s literally Freeze Column as Google Sheets and Excel define it. In most cases you would set the first X rows to freeze, so that the column headers are permanently visible as you scroll vertically. You have that built in already.

I’m looking to set the first Y columns to freeze, so that the first column (often the display column) is visible, so you have it as a visual reference for each row when scrolling horizontally

Make sense?

1 Like

Yup makes sense. This is similar to how the “locked” first column in Airtable works. The point I was trying to make is that if the table (or view) has many columns hidden, it wouldn’t require the need to scroll horizontally since the first column would always be in view. Nonetheless, I totally understand this feature would increase the usability of tables. Will log it with the product team!


I Second this feature.
Scrolling up and having column heads stick to the top of the screen is GREAT. Would be good if we could define a set of Columns we could “Freeze” when scrolling left and right.





The ability to designate at least one column per table as the “Sticky” column would be smooth UX.

  • All other columns, whether positioned to the left or right of the designated “Sticky” column would be free to scroll horizontally past the sticky column in either direction.
  • And the sticky column could be horizontally positioned anywhere – left, right, center – wouldn’t matter, so long as it was always visible to the user (sticky).

This would actually be a better user experience than the spreadsheet concept of freezing columns, which makes the columns to the left of the frozen column difficult to access.

1 Like

Thanks for your feedback! Will definitely log this request with our product team!


+1 for this I am constantly scrolling back to make sure I am in the right row when entering data.
Perhaps the option to make the display column freeze or lock.

1 Like

One question for the group here, how would you expect this to behave when a view is grouped top?

1 Like


I would expect it to behave by releasing the element from sticky/frozen status.

I would want it to behave by having a UI control on the table elements (columns, rows, left groups, top groups, etc) for toggling the sticky/unsticky status of any of these elements – in your example, any of those top groups.

I would want these sticky toggle options:

  • left, right, current position, clear
  • top, bottom, current position, clear
  • clear all

I would want these to be just “sticky”, not set in concrete. So any sticky element could be easily nudged or dragged into custom positions, just as we can now do with non-sticky elements.


EDIT: Also open to solutions other than sticky (e.g., frozen, pinned, etc). Haven’t weighed the pros/cons of each.

In a perfect world the text of that specific grouping would carry all the way across the screen until the column ended which creates a whole new opportunity for an engineering masterpiece, I’m sure.

If I have something grouped I would like to have the option see the important details (what the grouping is by) at all times. So whether that is freezing the header column or the text flowing with the group if it’s along the top - in longer columns and longer spreadsheets It would be nice to be able to see it.

Hope that makes sense.

what about scrolling vertically? i’m randomly seeing some tables freezing the header row but not others. i’m not sure how to enable it…


Yes. Also if the focus was the table, the header would “freeze” when moving down the rows.

1 Like

+1 for freezing both columns and rows
It seems self-evident, and the only reason not to have it is… Coda is young.

Yes it’s possible to have multiple views, but it’s actually quite pain to be switching between views since we can’t open the same document multiple times. It’s clicking, and it’s slow. If I am entering a lot of data, it’s better to have one big table and manage visibility.

(The 2nd point of pain is that filters cannot be turned on and off, only added or removed.)

Grouping makes it a bit more complicated, but you could just enable it only for tables with no grouping.
We can have multiple views for that.