In SmartClient 6.5.1 there exists a bug whereby in some circumstances a horizontally scrolled editable listGrid with a number of fields, including some which are canEdit:false can fail to show an editor for certain fields.
This patch should resolve this issue:
This patch should resolve this issue:
Code:
//---------------------------------------------------------------------------- // Isomorphic SmartClient 6.5.1 patch // Purpose: Fix for a case where editors could fail to show for some fields when // incrementally rendering out ListGrid columns if editing was disabled on other fields // // Applies to SmartClient 6.5.1 build only //---------------------------------------------------------------------------- if (window.isc && isc.version.startsWith("6.5.1/") ){ if (isc.ListGrid) { isc.ListGrid.addProperties({ $32s: function (_1, _2) { var _3 = this.$30a; this.$30a = true; if (!this.isDrawn() || !this.body) { return; } var _4 = this.isEmpty() || !_3 && _1 >= this.data.getLength() && (this.showNewRecordRow || this.body.getTableElement(_1, _2) == null); if (_4 || this.body.isDirty() || (this.frozenBody && this.frozenBody.isDirty())) { var _5 = this.bodyLayout ? this.bodyLayout : this.body; _5.redraw("Showing editor"); return; } if (this.editByCell) { this.refreshCell(_1, _2); } else { var _6 = this.getDrawnFields(); for (var i = 0; i < _6.length; i++) { var _8 = _6[i][this.fieldIdProperty], _9 = this.$286.getItem(_8), _2 = _9.colNum, _10 = !!(_3 && _9.isDrawn()), _11 = this.canEditCell(_1, _2); if (_10 != _11) { this.refreshCell(_1, _2); } else if (this.selectOnEdit || this.lastOverRow) { this.body.$29h(this.getCellRecord(_1, _2), _1, _2); } } } } }); } } else if (window.isc) { isc.Log.logWarn("Patch for SmartClient 6.5.1 build included in this application. " + "You are currently running SmartClient verion '"+ isc.version + "'. This patch is not compatible with this build and will have no effect. " + "It should be removed from your application source."); } // End of patch // ------------