# Perspective table not accepting edits

**URL:** <https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [November 25, 2023, 4:53am UTC](https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340 "2023-11-25T04:53:42Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![wdfus](https://avatars.discourse-cdn.com/v4/letter/w/848f3c/32.png) [@wdfus](https://forum.inductiveautomation.com/u/wdfus)\
**Post date:** [November 25, 2023, 4:53am UTC](https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340/1 "2023-11-25T04:53:42Z")

</div>

My question is similar to this one, [Not able to edit Ignition Perspective table](https://forum.inductiveautomation.com/t/not-able-to-edit-ignition-perspective-table/29435). I have a table that has a query binding with the return format being a dataset. (not polling). The edit box appears but when I hit the enter key the edit goes away. I have created columns with the appropriate field name which got me this far. I do not have a transform do I need one? Also, this would be icing on the cake but is there any way to make the spin box go away? The behavior is the same on the web page and designer. Thanks.

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

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [November 25, 2023, 10:18am UTC](https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340/2 "2023-11-25T10:18:17Z")

</div>

> [@wdfus](#):
>
> The edit box appears but when I hit the enter key the edit goes away.

You need to use an `onEditCellCommit` event script to handle the change.

- Right-click on the table and select Configure Events ...
- Configure as shown below.

 ![onCellEditCommit](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/a/1a30c7a6bf3cc981bffe8f55534029edebe5f123.png)

_Figure 1. Note the **self** and **event** hyperlinks. These open a popup to show what properties are available._

Code:

```auto
def runAction(self, event):
	row = event.row
	col = event.column
	self.props.data[row][col] = event.value

```

That should get you as far as updating the table display. You probably also want to update the underlying database. The best way for that is to have an `id` row or unique key for use in an SQL UPDATE query and use that to update the whole row.

---

<div class="post-metadata">

**Author:** ![wdfus](https://avatars.discourse-cdn.com/v4/letter/w/848f3c/32.png) [@wdfus](https://forum.inductiveautomation.com/u/wdfus)\
**Post date:** [November 27, 2023, 3:34am UTC](https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340/3 "2023-11-27T03:34:45Z")

</div>

I followed these steps which produced the following error:

> Error running action 'component.onEditCellCommit' on Schedule@D/root/Table: Traceback (most recent call last): File "function:runAction", line 4, in runAction TypeError: 'com.inductiveautomation.ignition.gateway.datasource.BasicStreamingDataset' object is unsubscriptable

---

<div class="post-metadata">

**Author:** ![william.bowen](https://avatars.discourse-cdn.com/v4/letter/w/8c91f0/32.png) [@william.bowen](https://forum.inductiveautomation.com/u/william.bowen)\
**Post date:** [November 27, 2023, 5:23am UTC](https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340/4 "2023-11-27T05:23:35Z")

</div>

That is because the data is a Dataset. The above would work if the query binding's return format was JSON. Datasets are immutable, you will need to use the system.dataset.setValue().  
[https://docs.inductiveautomation.com/display/DOC81/system.dataset.setValue](https://docs.inductiveautomation.com/display/DOC81/system.dataset.setValue)

```auto
row = event.row
col = event.column
self.props.data = system.dataset.setValue(self.props.data, row, col, event.value)

```

---

<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 27, 2023, 8:08am UTC](https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340/5 "2023-11-27T08:08:34Z")

</div>

I'd like to point out that the alternative to this is to change the return format of the query to json.  
It's sort of implied in William's answer, but we might as well make it clear.

I usually use json format, especially if I need to do operations on the data. It's much easier than the dataset option.

---

<div class="post-metadata">

**Author:** ![TonyD\_MM2](https://avatars.discourse-cdn.com/v4/letter/t/dec6dc/32.png) [@TonyD\_MM2](https://forum.inductiveautomation.com/u/TonyD_MM2)\
**Post date:** [November 10, 2025, 10:08pm UTC](https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340/6 "2025-11-10T22:08:55Z")

</div>

thx from the future, it worked!!!

---

<div class="post-metadata">

**Author:** ![Rajashekar\_Reddy](https://avatars.discourse-cdn.com/v4/letter/r/c0e974/32.png) [@Rajashekar\_Reddy](https://forum.inductiveautomation.com/u/Rajashekar_Reddy)\
**Post date:** [December 4, 2025, 3:11pm UTC](https://forum.inductiveautomation.com/t/perspective-table-not-accepting-edits/82340/7 "2025-12-04T15:11:11Z")

</div>

thanks it`s working!!!🥳
