We have a grid that has columns that are shown or hidden based on other circumstances in the form the grid resides on.
Once we hide a column using the hideColumn method of igGrid, addRow fails with the following javascript exception:
"Unable to get value of the property 'replace': object is null or undefined"
I tracked the problem down to the hiding of the column: when the column is hidden, the rowTemplate is rewritten to only contain the visible columns. However, when the tmap is reinitialized from _renderTemplatedCell, the initialization code does not skip any columns, hidden or otherwise.
Assume that we start with 3 columns: ColumnA, ColumnB, and ColumnC. In this case the tmap looks like
ColumnA = {{html ColumnA}}
ColumnB = {{html ColumnB}}
ColumnC = {{html ColumnC}}
If we then hide ColumnB, however, the tmap now looks like:
ColumnB = {{html ColumnC}}
since _InitializeTmap did not skip over any hidden columns, but the rowTemplate generated by _setHidden excluded all hidden columns. Therefore, there is now a mismatch between the two.
I tried accounting for this by adding code to skip the hidden columns, but the problem is that the logic that hides hidden cells from the rowTemplate is not applied when there are initial hidden columns in _renderData.
So it seems like there are a couple of fixes that need to be applied here.
Hello Karl,
I tried to reproduce the issue that you mentioned in a small test sample. Still on my side everything seems to work as expected. Could you please take a look at the attached sample and modify it in order to suit your scenario.
Also please check if you are using the same versions of jQuery and jQueryUI and the Infragistics scripts.
Thanks in advance.
I am just checking have you been able to resolve your issue? If you still need any assistance on the matter do not hesitate to ask.
Sorry for taking so long to get back to you. We do not use the enableAddRow method, we use the igGridUpdating addRow method. I was not able to update your sample to break it, but I don't have very much time to devote to this. It's possible that it has been fixed in a more recent version than we are using so I will check again after the next service pack is released.
Thank you for getting back to me. After some research I believe that the difference in the behavior could be caused if we use different versions of jQuery and jQueryUI. Please make sure that you use versions of these scripts before version 1.9.
If this doesn’t resolve the issue we could wait for the new service release. It will be available based on the following schedule:
http://ko.infragistics.com/help/service-releases/
Thank you for getting back to me on this. Is there a list of the supported versions of jquery? The only documentation I have found so far indicates that jquery ui 1.8.11 or higher should be used.
Currently all controls from igniteUI support the following scripts:
jQuery before 1.8.3
jQueryUI after 1.8.11 and before 1.9.
Still in our upcoming version -13.1 we plan to add support for versions after 1.9.
Hello Kart,
I am still following your case. have you been able to resolve your issue?
Please feel free to contact me if you have any additional questions regarding this matter.