I just updated my ignite version and came across a strange error."Cannot read property 'column' of null"After some debugging I found that it was due to hidden date fields.
I set up a very basic grid to verify that it was in fact the date hiding and not any other feature on our grid. There I got a different error:"this._superApply is not a function"
I have attached this basic test and in it you can switch between the 2017.2 and 2017.1 cdn links. There you'll see that the older version works just fine.
/community/cfs-file/__key/communityserver-discussions-components-files/1028/test.zip
A workaround is to un-hide the columns, set width to 0 and disallow column hiding so it doesn't show up in the column chooser.
Hello TallonGS,
The code you're talking about is in the Filtering feature so reproducing it with Sorting API is odd. Can you please share your igGrid configuration so I can try to reproduce it on my end.
Thanks in advance, Martin Pavlov
Infragistics, Inc.
I turns out that my demo file was not entirely representative of the original error. We are actually on JqueryUi version 1.12.0 and still get the "Cannot read property 'column' of null" error. I'll leave the first answer because it is probably useful to people that forgot to upgrade their jquery version.I haven't been able to reproduce this issue in the isolated demo file yet, only in our application which uses a lot of features and also has some custom code to save and load igGrid settings from localstorage.Here is the full stacktrace
VM11890 infragistics.lob.js:231 Uncaught TypeError: Cannot read property 'column' of null at $.(anonymous function).(anonymous function)._dataBound (http://localhost:14698/Scripts/Infragistics/js/infragistics.lob.js:231:27249) at $.(anonymous function).(anonymous function)._dataBound (http://localhost:14698/Scripts/jQuery/jquery-ui-1.12.1.js:144:25) at HTMLTableElement.proxy (http://localhost:14698/Scripts/jQuery/jquery-3.2.1.js:496:14) at HTMLTableElement.dispatch (http://localhost:14698/Scripts/jQuery/jquery-3.2.1.js:5206:27) at HTMLTableElement.elemData.handle (http://localhost:14698/Scripts/jQuery/jquery-3.2.1.js:5014:28) at Object.trigger (http://localhost:14698/Scripts/jQuery/jquery-3.2.1.js:8201:12) at HTMLTableElement.<anonymous> (http://localhost:14698/Scripts/jQuery/jquery-3.2.1.js:8269:17) at Function.each (http://localhost:14698/Scripts/jQuery/jquery-3.2.1.js:362:19) at jQuery.fn.init.each (http://localhost:14698/Scripts/jQuery/jquery-3.2.1.js:157:17) at jQuery.fn.init.trigger (http://localhost:14698/Scripts/jQuery/jquery-3.2.1.js:8268:15)
It seems to happen when we call igGridSorting('sortColumn') in the igGridRendered event to restore the sorting settings from localstorage.This error happens on this line of infragistics.lob.js
ditor._setOption("displayTimeOffset", this.grid._calcOffsetForCol(null, this.grid.getColumnByTD(editor.element.closest("td")).column))
editor.element.closest("td") does find an element but the getColumnByTD of it returns null. So I'm guessing that when the date column is hidden it still tries to set the timeOffset and fails? If I find out more or succeed in reproducing the issue in an isolated demo I will post an update.
Thanks for your reply. That was indeed the problem.Is there any place you list the required versions of jQuery and jQuery UI? I can't seem to find it in the documentation.
There is no need to change your grid configuration.
In Ignite UI 17.2 we're using _superApply across the product, so you also need to update at least your jQuery UI version to 1.9.0 where this API is introduced.
Best regards,
Martin Pavlov Infragistics, Inc.