# How to freeze a column in table

**URL:** <https://forum.inductiveautomation.com/t/how-to-freeze-a-column-in-table/92736>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [July 3, 2024, 9:17am UTC](https://forum.inductiveautomation.com/t/how-to-freeze-a-column-in-table/92736 "2024-07-03T09:17:01Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![beck58](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@beck58](https://forum.inductiveautomation.com/u/beck58)\
**Post date:** [July 3, 2025, 1:03am UTC](https://forum.inductiveautomation.com/t/how-to-freeze-a-column-in-table/92736/3 "2025-07-03T01:03:13Z")

</div>

Yes it is possible it doesn't work immediately because you need the inset properties and you need it to attach to the correct parent.  
Here is how you do it:

1. Set position: sticky;

2. Set atleast one of the inset properties: i.e (left:0; since we want it on the left)

3. Ensure it attaches to correct ancestor by checking there are no hidden scrolling areas between the ancestor of choice and the sticky component (See attached [https://polypane.app/blog/getting-stuck-all-the-ways-position-sticky-can-fail/](https://polypane.app/blog/getting-stuck-all-the-ways-position-sticky-can-fail/)). Hence I changed the overflow from hidden to clip within style.css (from what I understand there are the same hidden just allows some sort of programatic scrolling)

4. Set the z-index to a positive non zero value.

5. Redraw background  
Do this in the column you want:  

6. Note if you are using virtualized=true, ensure you change the step 3 css rule to

7. 

```python
/* For step 3.*/
div.ReactVirtualized __Grid__ innerScrollContainer,
div.flexBodyInnerScrollContainer,
div.ia_table__rowGroup,
div.ia_table__row {
    overflow: clip !important;
}

```

---

_[View the full topic](https://forum.inductiveautomation.com/t/how-to-freeze-a-column-in-table/92736)._
