WITH THISFORM.pgfValid.pagListe.grdListe >>* Save column names >> dimension aColNames[.columncount] >> local ix >> for ix = 1 to .columncount >> aColNames[ix] = .columns(ix).name >> endfor >> .RecordSource = "" >>* Do whatever you do to change grid cursor here - ie:SQL >> .RecordSource = "TempListe" >>* Restore column names >> for ix = 1 to min(.columncount,alen(aColNames)) >> .columns(ix).name = aColNames[ix] >> endfor >>* Be sure columncount and/or len(aColNames) is enough to restore them all >> .colListe.ControlSource = "TempListe.cLiNom" >> .colDate.ControlSource = "TempListe.dAppel" >> .colTel.ControlSource = "TempListe.cTel" >> .colPrenom.ControlSource = "TempListe.cCustomerName" >> .colRespCode.ControlSource = "TempListe.cCodeRep" >> .colAgentNb.ControlSource = "TempListe.cNoAgent" >>ENDWITHBTW if your SQL is static (SQL doesn't change but only data), directly setting recordsource to SQL and recsourcetype to SQL, grid.refresh is enough.