# Added column shows in Designer but not in client

**URL:** <https://forum.inductiveautomation.com/t/added-column-shows-in-designer-but-not-in-client/63199>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [August 19, 2022, 12:45pm UTC](https://forum.inductiveautomation.com/t/added-column-shows-in-designer-but-not-in-client/63199 "2022-08-19T12:45:54Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![justinedwards.jle](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justinedwards.jle/32/37854_2.png) [@justinedwards.jle](https://forum.inductiveautomation.com/u/justinedwards.jle)\
**Post date:** [August 21, 2022, 10:00am UTC](https://forum.inductiveautomation.com/t/added-column-shows-in-designer-but-not-in-client/63199/9 "2022-08-21T10:00:28Z")

</div>

You could start with adding a custom dataset property to the power table. Call it originalData. Then bind that property to the SQL query to get the noteless data from the database. The query will have to include a primary key

Then, you could create a dataset memory tag with two columns: “name of Primary Key” and “Notes”

Afterwards, you would be able to create a custom method called “refreshTable”

The code for the custom method would look like this:

```auto
	system.db.refresh(self,"originalData")
	dataSetOriginal = self.originalData
	dataSetNotes = system.tag.read('[default]yourTagPath/DatasetTag').value
	notesColumnHeader = "Notes"
	notesColumnData = []
	for row in range(dataSetOriginal.getRowCount()):
		notesForPrimaryKeyExists = "false"
		for noteSearch in range(dataSetNotes.getRowCount()):
			if dataSetOriginal.getValueAt(row, "Primary Key") == dataSetNotes.getValueAt(noteSearch, "Primary Key"):
				notesColumnData.append(dataSetNotes.getValueAt(noteSearch, "Notes"))
				notesForPrimaryKeyExists = "true"
				break				
		if notesForPrimaryKeyExists == "false":
			notesColumnData.append(" ")
	self.data = system.dataset.addColumn(dataSetOriginal,notesColumnData,notesColumnHeader, str)

```

This will tie your notes to your database information based on the primary key.

With this approach, the refreshTable method will need to be called from the initialize extention function  
`	self.refreshTable()`

Finally, the dataset tag will need to be updated during edits using the onCellEdited extension function. That code will look like this:

```auto
	self.data = system.dataset.setValue(self.data, rowIndex, colIndex, newValue)
	editedDataHeaders = ["Primary Key", "Notes"]
	editedData = []
	for row in range(self.data.getRowCount()):
		editedData.append([self.data.getValueAt(row, "Primary Key"), str(self.data.getValueAt(row, "Notes"))])	
	system.tag.write('[default]yourTagPath/DatasetTag', system.dataset.toDataSet(editedDataHeaders, editedData))
	self.refreshTable()
	system.db.refresh(self,"data")

```

---

_[View the full topic](https://forum.inductiveautomation.com/t/added-column-shows-in-designer-but-not-in-client/63199)._
