Hello,
We ran across a problem where we were applying the same hilites to two grids that share many but not all the same fields. When a hilite was defined for a field not present in both grids, there was an exception thrown. Here is the patch needed for 8.2.
This is the specific part we patched:
if(!_19&&(this.getField(_9)==null || this.getField(_9).customSQL))continue;
Can you see if something similar is needed in 8.3 as well?
We ran across a problem where we were applying the same hilites to two grids that share many but not all the same fields. When a hilite was defined for a field not present in both grids, there was an exception thrown. Here is the patch needed for 8.2.
This is the specific part we patched:
if(!_19&&(this.getField(_9)==null || this.getField(_9).customSQL))continue;
Can you see if something similar is needed in 8.3 as well?
Code:
if (window.isc && isc.version.startsWith("v8.2")){ isc.DataSource.getPrototype().addProperties({ recordsMatchingFilter:function(_1,_2,_3){ var _4=isc.getKeys(_2),_5=_4.length,_6=[],_7,_8,_9,_10,_11,j;if(_3&&_3.operation&&this.operationBindings){var _13=_3.operation;if(_13.ID==_13.dataSource+"_"+_13.type){var _14=this.operationBindings.find({operationId:null,operationType:_13.type})}else{var _14=this.operationBindings.find({operationId:_3.operation.ID,operationType:_13.type})} if(_14){var _15=_14.customCriteriaFields;if(isc.isA.String(_15)){_15=_15.split(",");for(var k=0;k<_15.length;k++){_15[k]=_15[k].replace(/^\s+|\s+$/g,'')}}}} for(var i=0,l=_1.length;i<l;i++){_7=_1[i];if(_7==null)continue;_8=true;for(j=0;j<_5;j++){_9=_4[j];if(_9==null)continue;if(this.dropUnknownCriteria&&!this.getField(_9))continue;var _19=false;if(isc.isA.List(_15)&&_15.contains(_9)){_19=true} if(!_19&&(this.getField(_9)==null || this.getField(_9).customSQL))continue;_10=isc.DataSource.getPathValue(_7,_9);_11=_2[_9];if(!this.fieldMatchesFilter(_10,_11,_3)){_8=false;break}} if(_8)_6.add(_7)} return _6 } }) }
Comment