I’m using a table to modify one column of various sections of a CSV recipe file. This requires me to erase the table data every time a different recipe or section is selected. This in turn was deleting the customizer and the “editable” property of the column in question.
The workaround is to save the table’s columnAttributesData before the erasure and restore it afterwards.
window = system.gui.getWindow("Main Windows/ParameterEdit") # Used to reference items on the ParameterEdit window.
# A new recipe or stations selection has been made. Clear the table.
tbl = window.rootContainer.getComponent('tblParams')
customizer = tbl.columnAttributesData # Save the customizers before we destroy them ...
header = ['Line', 'Description', 'Setpoint', 'Min', 'Max'] # Header rows for the table.
row = [] # Empty.
tbl.data = system.dataset.toDataSet(header,row) # Create the table dataset.
# The line above destroys the tblParams customizers which includes the "editable" property of the Setpoint column.
tbl.columnAttributesData = customizer # This line restores the customizer.
I hope that this is useful.