# Inserting a table column screws up other column bindings

**URL:** <https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [May 30, 2024, 3:11pm UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146 "2024-05-30T15:11:45Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ryan\_Deardorff](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan_deardorff/32/63815_2.png) [@Ryan\_Deardorff](https://forum.inductiveautomation.com/u/Ryan_Deardorff)\
**Post date:** [May 30, 2024, 3:11pm UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146/1 "2024-05-30T15:11:45Z")

</div>

I just tried using the "Add after" option to insert a new column into a table, but it screwed up all the bindings of columns to the right because apparently those bindings are stored based on column index, which doesn't get updated. The only way I can think of to fix that is by manually copy/pasting all the bindings from one to the next, which is a pain.

Version 8.1.36

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 30, 2024, 3:13pm UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146/2 "2024-05-30T15:13:46Z")

</div>

What kind of binding is this? Or do you mean in the `props.columns` of a table? If so, yes, you will have to manually move them.

---

<div class="post-metadata">

**Author:** ![Ryan\_Deardorff](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan_deardorff/32/63815_2.png) [@Ryan\_Deardorff](https://forum.inductiveautomation.com/u/Ryan_Deardorff)\
**Post date:** [May 30, 2024, 3:15pm UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146/3 "2024-05-30T15:15:53Z")

</div>

Sorry, yeah, it's props.columns

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 30, 2024, 3:19pm UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146/4 "2024-05-30T15:19:27Z")

</div>

If all of the bindings are pulling from your query dataset, consider dynamically generating the entire `props.columns` list using the dataset's metadata. Some techniques:

> [@Automation Professionals' Integration Toolkit Module](https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934/5):
>
> I have spent my holiday poking at this. Wanted to provide an efficient replacement for a common use of python transforms: Make a (Perspective) table that dynamically populates both .data and .columns from source dataset that isn't constrained to any particular structure or data types. In Vision, one can achieve this (mostly) by pre-populating the column attributes dataset with all of the possible column names your application might deliver. No such thing in Perspective. But a transform can …

(Whether you use my toolkit or not.)

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [May 30, 2024, 4:13pm UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146/5 "2024-05-30T16:13:19Z")

</div>

You could also just update to 8.1.39, where we [fixed](https://inductiveautomation.com/downloads/releasenotes/8.1.39#:~:text=Property%20configs%2C%20including%20bindings%2C%20remain%20assigned%20to%20moved%20or%20shifted%20array%20items%20within%20the%20Property%20Editor.) this undesirable behavior.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 30, 2024, 4:15pm UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146/6 "2024-05-30T16:15:13Z")

</div>

> [@cmallonee](#):
>
> we [fixed](https://inductiveautomation.com/downloads/releasenotes/8.1.39#:~:text=Property%20configs%2C%20including%20bindings%2C%20remain%20assigned%20to%20moved%20or%20shifted%20array%20items%20within%20the%20Property%20Editor.) this

Huh. How did I miss that?

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [May 30, 2024, 4:30pm UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146/7 "2024-05-30T16:30:26Z")

</div>

I'm not sure. Seems like you should spend some more time keeping up to date with all the minutiae of our development and release. 🤣

---

<div class="post-metadata">

**Author:** ![jrd](https://avatars.discourse-cdn.com/v4/letter/j/b9bd4f/32.png) [@jrd](https://forum.inductiveautomation.com/u/jrd)\
**Post date:** [December 7, 2025, 4:25am UTC](https://forum.inductiveautomation.com/t/inserting-a-table-column-screws-up-other-column-bindings/91146/8 "2025-12-07T04:25:41Z")

</div>

I just updated to 8.1.50  
Neither Add Before nor Add After seems to work

Any other suggestions?

Ross
