Normalmente, il clic sulle colonne permette di trascinarle.

E' possibile inibire questo comportamento impostando la proprietà Options affinchè escluda il valore dgColumnResize.

A questo punto, l'evento OnTitleClick permette di intercettare il clic dell'utente su una delle colonne che costituiscono la DBGrid, la quale verrà passata come parametro al metodo di gestione dell'evento.

Purtroppo, la griglia non ha alcuna funzionalità di ordinamento incorporata: a fronte di un clic, è necessario agire sul DataSet collegato per fare in modo che ordini i dati secondo la colonna "cliccata", in ordine crescente o decrescente, usando proprietà relative al sorting oppure chiudendo e riaprendo la query modificando opportunamente lo statement SQL dal quale hanno origine i dati.

Ciao!