>l'ho fatta a livello dati...
>
>dg1.Sort(dg1.Columns(5), System.ComponentModel.ListSortDirection.Ascending)
Allora puoi dichiarare una variabile a livello globale:
dim LastR as datagridviewRow
Dopo l'insert ma prima del sort
LastR = DataGridView1.Rows(DataGridView1.Rows.Count - K)
con K = 2 se è ammesso l'inserimento direttamente in griglia (ultima riga modificabile con lo *) o K=1 se non puoi scrivere in griglia.
Eseguendo il sort dopo l'impostazione di LastR non perdi il riferimento ma le righe vengono riordinate.
Accendi poi all'indice con LastR.index oppure agisci direttamente sulla riga utilizzando LastR.Metodo/Proprietà
Tieni presente che LastR può essere impostato dopo ogni insert oppure in un eventuale evento rowInsert (se esiste sarebbe più corretto impostarla lì!)
Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/