"c is undefined" error when using grid with dataProcessor

Everything works really well until I try to update a value in the grid - when I update, I get this error and the post to server never happens.

c is undefined …dhtmlxGrid/codebase/dhtmlxgrid.js Line 835


This is the code I am using to initialise the grid:

function doInitGrid() { Contacts = new dhtmlXGridObject('Contacts_container'); Contacts.setImagePath("../assets/dhtmlx/dhtmlxGrid/codebase/imgs/"); Contacts.setHeader(", ID, F Name(s),L Name,Organisation, Last Act, Next Act"); Contacts.setInitWidths("20, 50, 100,100,*,100,100"); Contacts.setColAlign("left, center, left,left,left,center,center"); Contacts.setColTypes("ch,ro,ed,ed,ed"); Contacts.setColSorting("num,str,str,str,date,date"); Contacts.setSkin("modern"); Contacts.loadXML("../api/ContactListFeed.php?searchText="); Contacts.init(); Contacts.enableSmartRendering(true); var dp = new dataProcessor('../api/contactUpdate.php'); dp.setTransactionMode("POST",false); dp.init(Contacts); } //js funct

common error, usually happens when the according row is not (yet) loaded from XML.
For newly added rows I decided to therefore add them as row # 0 which happens to be there always.

I finally worked out what was causing it. Posting here in case anyone else falls victim :nerd:

You have to match up the column headers with any other things like: setInitWidths, setColTypes, setColAlign etc. I hadn’t bothered filling them all in - thinking they would just take default values for the remaining columns.

NB: The error only occurs when you try to use a dataProcessor.