# Perspective table cell - defer update functionality

**URL:** <https://forum.inductiveautomation.com/t/perspective-table-cell-defer-update-functionality/78747>\
**Category:** Ignition\
**Tags:** ignition81, perspective, scripting\
**Created:** [September 5, 2023, 6:42am UTC](https://forum.inductiveautomation.com/t/perspective-table-cell-defer-update-functionality/78747 "2023-09-05T06:42:41Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Priyanka.Khandge](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/priyanka.khandge/32/35989_2.png) [@Priyanka.Khandge](https://forum.inductiveautomation.com/u/Priyanka.Khandge)\
**Post date:** [September 5, 2023, 6:42am UTC](https://forum.inductiveautomation.com/t/perspective-table-cell-defer-update-functionality/78747/1 "2023-09-05T06:42:41Z")

</div>

Hi Guys,

If a user enters something in the cell, it isn't actually edited until they press **Enter** on the keyboard. I would like the edited cell without pressing the **Enter**. Does anyone know how to do **"defer updates"** is disabled?

Thanks,  
Priyanka Khandge

---

<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:** [September 5, 2023, 10:10am UTC](https://forum.inductiveautomation.com/t/perspective-table-cell-defer-update-functionality/78747/2 "2023-09-05T10:10:21Z")

</div>

I needed that functionality once, and if I remember correctly the only way I found was to embed a text field instead of using the cell directly.

Maybe there's a better way, but you could try this.

---

<div class="post-metadata">

**Author:** ![Priyanka.Khandge](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/priyanka.khandge/32/35989_2.png) [@Priyanka.Khandge](https://forum.inductiveautomation.com/u/Priyanka.Khandge)\
**Post date:** [September 11, 2023, 11:29am UTC](https://forum.inductiveautomation.com/t/perspective-table-cell-defer-update-functionality/78747/3 "2023-09-11T11:29:49Z")

</div>

Here I have added the view in the table. Without pressing the **Enter** key value-added successfully.  
But I am facing one issue here. When I have updated a single row at a time and then successfully updated but when I am trying multiple rows at a time then update the same value in all rows (all rows means clicked update button rows).

Here view value passed using the message handler.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/1/91cb07e5472e6d97d35fb96b833944865dcaac2e.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:** [September 11, 2023, 12:27pm UTC](https://forum.inductiveautomation.com/t/perspective-table-cell-defer-update-functionality/78747/4 "2023-09-11T12:27:38Z")

</div>

Can't do much without seeing what you did.

---

<div class="post-metadata">

**Author:** ![Priyanka.Khandge](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/priyanka.khandge/32/35989_2.png) [@Priyanka.Khandge](https://forum.inductiveautomation.com/u/Priyanka.Khandge)\
**Post date:** [September 11, 2023, 1:48pm UTC](https://forum.inductiveautomation.com/t/perspective-table-cell-defer-update-functionality/78747/5 "2023-09-11T13:48:24Z")

</div>

This is the **button** template.

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

In the button template added the message handlers in the root like below

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/d/fd981fab67e4064794cd97f5f84e51fbb32e1107.png)

The below script was added to the dropdown view for the selected value to send the message to the message handler (button view)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/5/8566a8df9a49c07489b5e8133c1de2b7636fdcc5.png)

I have added a view (button template) in the particular table column like below

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

Also added a dropdown view like below.

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

Here when I updated a single row then updated successfully but when I tried to update multiple rows at a time then updated the rows but the same value was added in the database dropdown column.

Example:  
For the first row dropdown value select **Press** second dropdown value select **Weld** Then I clicked on both update buttons then updated the value in the database in both rows **Weld** because here last **Message Handler** passed the value **Weld**. Any idea how to fix this?

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/b/fba0eaa6735b22b2ef126ad14cb73b8171a1a068.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:** [September 11, 2023, 2:31pm UTC](https://forum.inductiveautomation.com/t/perspective-table-cell-defer-update-functionality/78747/6 "2023-09-11T14:31:57Z")

</div>

You'd need to use some row id to filter incoming messages.

But I believe you're going the wrong way about this.  
Don't send a message from the drop down to update value in the button's view, instead send a message from the button to request an update. You'll also need to send some form of identification through the payload so you know what to update.  
This way you can put just ONE message handler on the table or whatever seems convenient to you, where you'll get the data from the table based on the identification sent and perform any operation you want.

I'll suggest yet another way: Remove the buttons from the table and add just ON button outside of the table, that will update everything that changed.  
When I do this, I don't bind the table's data directly to the source, instead I use a custom property to fetch the data, then bind the table to this. Then when I want to update, I can compare the data from the table to the original data and update only what has changed.
