CREATE CURSOR cJunk (field_one c(20), f2 c(20), f3 c(20)) FOR lni = 1 TO 10 INSERT INTO cJunk VALUES (REPLICATE('11',lni), REPLICATE('22',lni),REPLICATE('33',lni) ) endfor GO TOP LOCAL aobj[1], xx DELETE FILE testxx.sc? CREATE FORM testxx NOWAIT =ASELOBJ(aobj,1) xx = aobj[1] xx.autocenter = .t. xx.addobject('grid1','grd') xx.grid1.recordsource = 'cJunk' xx.grid1.columncount = 3 xx.writemethod('click','this.grid1.column2.visible = !this.grid1.column2.visible') ACTIVATE WINDOW 'form designer - testxx.scx' KEYBOARD '{ctrl+w}' DO FORM testxx testxx.grid1.autofit() RETURN DEFINE CLASS grd AS grid columncount = 3 *!* procedure column2.visible_assign(tuNewVal) *!* if tuNewVal = .f. *!* this.Tag = Transform(this.Width) *!* this.Width = 0 *!* else *!* this.Width = Val(this.Tag) *!* endif *!* this.Visible = tuNewVal *!* * repaint the scrollbars *!* this.Parent.scrollbars = this.Parent.scrollbars *!* endproc ENDDEFINE>Futher, when scrolling to the right (having hightlightrow =.t. and highlight = .f.) a visual bug occurs in a sense that it seems to display the outlines of the hidden columns on the currently active row.