# Freeze a column in a table

**URL:** <https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [November 30, 2021, 2:27pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568 "2021-11-30T14:27:34Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![pkhoshroo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pkhoshroo/32/26801_2.png) [@pkhoshroo](https://forum.inductiveautomation.com/u/pkhoshroo)\
**Post date:** [November 30, 2021, 2:27pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/1 "2021-11-30T14:27:34Z")

</div>

Hello all,

I would like to hold the first column in my table while panning around the rest of the table, basically freezing that column just like excel when you freeze the first row or the first column. Is there any way to do this in perspective?

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [November 30, 2021, 2:32pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/2 "2021-11-30T14:32:58Z")

</div>

Do you want your first column to actually scroll, but freeze when a button is clicked or some trigger tells it to freeze, or should it not move at all, ever ?

---

<div class="post-metadata">

**Author:** ![pkhoshroo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pkhoshroo/32/26801_2.png) [@pkhoshroo](https://forum.inductiveautomation.com/u/pkhoshroo)\
**Post date:** [November 30, 2021, 2:41pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/3 "2021-11-30T14:41:32Z")

</div>

Not move at all, just like excel when you freeze a pane to lock a specific row or column:

[https://support.microsoft.com/en-us/office/freeze-panes-to-lock-rows-and-columns-dab2ffc9-020d-4026-8121-67dd25f2508f](https://support.microsoft.com/en-us/office/freeze-panes-to-lock-rows-and-columns-dab2ffc9-020d-4026-8121-67dd25f2508f)

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [November 30, 2021, 2:47pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/4 "2021-11-30T14:47:51Z")

</div>

I seem to remember someone asking the exact same things a while back…  
Couldn’t find the one I’m thinking about, only old threads.

Nevertheless, I don’t think this is an existing feature… But you could probably work around it by nesting two tables, I guess ?  
I’ll try something and report back.

---

<div class="post-metadata">

**Author:** ![pkhoshroo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pkhoshroo/32/26801_2.png) [@pkhoshroo](https://forum.inductiveautomation.com/u/pkhoshroo)\
**Post date:** [November 30, 2021, 2:51pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/5 "2021-11-30T14:51:41Z")

</div>

Something like these two:

> [@\[FEATURE\] position:sticky](https://forum.inductiveautomation.com/t/feature-position-sticky/50460):
>
> Currently you can only sure position:absolute and relative. But there are more usefull ones too like sticky! Currently its only possible to use that in a canvas (i think): sticky can do this! stick the header and left column to the side depending on scroll direction, cool to make tables or something. uh a cooler example here (in html+css):

> [@Perspective - View Canvas - replicate Excel spreadsheet - freeze top and left headers?](https://forum.inductiveautomation.com/t/perspective-view-canvas-replicate-excel-spreadsheet-freeze-top-and-left-headers/50400/6):
>
> here ya go: Sorry for the terrible quality, i couldnt upload the big video and seems i reduce it way to much xD the spacing columns and rows is a bit off but its just a demo stuck_out_tongue important things are: for the header position:sticky top:0 left:null for the left one: position:sticky top:null left:0 for the rest: position:absolute or position:relative [ { "position": "sticky", "top": "0px", "left": null, "bottom": "auto", "right": "auto…

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [November 30, 2021, 2:52pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/6 "2021-11-30T14:52:22Z")

</div>

Yes, that last one is the one I had in mind.

---

<div class="post-metadata">

**Author:** ![pkhoshroo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pkhoshroo/32/26801_2.png) [@pkhoshroo](https://forum.inductiveautomation.com/u/pkhoshroo)\
**Post date:** [November 30, 2021, 2:54pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/7 "2021-11-30T14:54:06Z")

</div>

Thank you!

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [November 30, 2021, 3:02pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/8 "2021-11-30T15:02:36Z")

</div>

Your case is simpler though, if you only want a column to be sticky. You could probably get away with 2 flex repeaters: 1 for the first column, and the second one repeating views that contain the rest of the columns. Put them side by side, tweak some properties, and you’ll be able to scroll everything vertically, and only the second repeater horizontally.

---

<div class="post-metadata">

**Author:** ![pkhoshroo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pkhoshroo/32/26801_2.png) [@pkhoshroo](https://forum.inductiveautomation.com/u/pkhoshroo)\
**Post date:** [November 30, 2021, 3:12pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/9 "2021-11-30T15:12:35Z")

</div>

what if I make the position of the first column sticky? I did that just like the post suggested but did not work.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/a/4afffd046543f78a4511315d79f55844dcba897b.png)

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [November 30, 2021, 3:19pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/10 "2021-11-30T15:19:14Z")

</div>

I don’t know css or ignition enough to answer that…

---

<div class="post-metadata">

**Author:** ![pkhoshroo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pkhoshroo/32/26801_2.png) [@pkhoshroo](https://forum.inductiveautomation.com/u/pkhoshroo)\
**Post date:** [November 30, 2021, 3:20pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/11 "2021-11-30T15:20:05Z")

</div>

Not a problem at all! Thank you very much for your help, Pascal. Appreciate it.

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [November 30, 2021, 3:26pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/12 "2021-11-30T15:26:18Z")

</div>

infortunatly its not that easy to do (if possible at all) in the grid as the structure is row based. So its hard singling out the columns 😕

---

<div class="post-metadata">

**Author:** ![pkhoshroo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pkhoshroo/32/26801_2.png) [@pkhoshroo](https://forum.inductiveautomation.com/u/pkhoshroo)\
**Post date:** [November 30, 2021, 3:27pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/13 "2021-11-30T15:27:25Z")

</div>

I see. I am trying the position method to see if it is working. Thank you @victordcq

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [November 30, 2021, 3:29pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/14 "2021-11-30T15:29:14Z")

</div>

Your best bet is the canvas example i made in the posts, you linked^^

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [November 30, 2021, 3:37pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/15 "2021-11-30T15:37:57Z")

</div>

Wouldn’t 2 flex repeater do the trick ? That seems much simpler.

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [November 30, 2021, 3:40pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/16 "2021-11-30T15:40:40Z")

</div>

The example used flex repeaters ^^  
But it has to be in a canvas for position sticky to work.  
And if you dont use it like that both repeaters wouldnt scroll down at a time  
(atleast that was what i think happend when i tested it all out, its been a while)

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [November 30, 2021, 3:48pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/17 "2021-11-30T15:48:44Z")

</div>

If you set `overflow: visible` on both repeaters, and `overflow: scroll` on their container, you can scroll both at the same time.  
Now I’m not sure how to scroll the second one horizontally from there… That might actually make it more complicated :X

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [November 30, 2021, 3:50pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/18 "2021-11-30T15:50:47Z")

</div>

Hm interresting  
overflow-x  
overflow-y  
exists… maybe if you only set the correct one to visible and the other one not…

but you might aswell draw the two flexes in a canvas instead of an other container it rly inst that different xd

---

<div class="post-metadata">

**Author:** ![zack.beranek](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zack.beranek/32/29953_2.png) [@zack.beranek](https://forum.inductiveautomation.com/u/zack.beranek)\
**Post date:** [November 30, 2021, 11:50pm UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/19 "2021-11-30T23:50:28Z")

</div>

I had this same request 2 years ago when I first started using Ignition. I submitted a ticket for support because in the documentation it showed that you could freeze the column (I can’t remember how but I believe it was by double-clicking the column header or holding CTRL and clicking) and I was told that the feature had been temporarily removed and that it would be re-implemented later. I followed up several times with this ticket and never got a solution. I have since changed jobs, and I am not currently in need of this feature, so I haven’t followed up in about a year. It still shows Open in my tickets with IA, so maybe they are just two years behind on this feature re-implementation. 🤨 I will add a comment to my ticket, but feel free to reference the ticket ID (#3398) if you need to.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/6/c663f4c107f311485257ea55da28263f276ae154.png)

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [December 1, 2021, 7:45am UTC](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568/20 "2021-12-01T07:45:03Z")

</div>

In Vision this is relatively simple. But in Perspective, components just can not be customize further the given props.  
You won’t be able to this in a single component.

[Next page](https://forum.inductiveautomation.com/t/freeze-a-column-in-a-table/53568.md?page=2)
