if(!this.cell){ return; } var c = this.cell, s = c.view.scrollboxNode, sr = { w: s.clientWidth, l: s.scrollLeft, t: s.scrollTop, h: s.clientHeight }, n = c.getNode(this.rowIndex), r = c.view.getRowNode(this.rowIndex), rt = this.grid.scroller.findScrollTop(this.rowIndex); // place cell within horizontal view if(n.offsetLeft + n.offsetWidth > sr.l + sr.w){ s.scrollLeft = n.offsetLeft + n.offsetWidth - sr.w; }else if(n.offsetLeft < sr.l){ s.scrollLeft = n.offsetLeft; } // place cell within vertical view if(rt + r.offsetHeight > sr.t + sr.h){ this.grid.setScrollTop(rt + r.offsetHeight - sr.h); }else if(rt < sr.t){ this.grid.setScrollTop(rt); }