thisform.columnoffset=thisform.columnoffset+1 grid.column1.controlsource="subs(sourcefield, 5*thisform.columnoffset+1)" grid.refreshThe custom property thisform.columnoffset should start at 0. In the symmetrical event (scroll left) you should have
thisform.columnoffset=max(thisform.columnoffset-1,0) grid.column1.controlsource="subs(sourcefield, 5*thisform.columnoffset+1)" grid.refreshYou could extend this (if it works - I didn't try it!) to include ctrl+arrows to go straight to the rightmost part of the longest string or to reset to the left.