Public oform oform = Createobject("myForm") oform.Show Define Class myForm As Form DataSession=2 Add Object grdSample As Grid Procedure Load Create Cursor test (col1 i,col2 i,col3 i,col4 i,col5 i) Local ix For ix=1 To 10 Insert Into test Values (100+m.ix,200+m.ix,300+m.ix,400+m.ix,500+m.ix) Endfor Locate Endproc Procedure Init * Add column - sum col1,col3,col5 With This.grdSample .ColumnCount = .ColumnCount + 1 With .Columns(.ColumnCount) .Header1.Caption = "Total" .ControlSource = "(test.col1+test.col3+test.col5)" Endwith EndWith * (Hide) remove cols 2 and 4 - do in reverse This.myHideColumn(4,This.grdSample) This.myHideColumn(2,This.grdSample) Endproc Procedure myHideColumn Lparameters nColIndex, toGrid For ix=nColIndex + 1 To toGrid.ColumnCount With toGrid.Columns(m.ix) .ColumnOrder = .ColumnOrder - 1 Endwith Endfor toGrid.ColumnCount = toGrid.ColumnCount - 1 Endproc EnddefineCetin