Originariamente inviato da biste
Il secondo parametro che riceve il metodo InsertAt è un indice in base 0 che si riferisce alla posizione nella quale la riga dovrà essere inserita. L'indice può andare da 0 (inserisce in testa alla tabella) a tabella.Rows.Count - 1 (l'equivalente di utilizzare il metodo Add).
Spero tu abbia capito che questo non ha nessuna corrispondenza con i tuoi valori di chiave (12, 14, 29).

Quindi per aggiungere una riga in quella posizione, nell'esempio che hai fatto tu, il parametro pos dovrebbe essere passato con valore 1.

HTH
Questo l'avevo capito.
Avevo indicato il valore chiave a titolo puramente indicativo.
Il fatto è che, se ho un oggetto DataTable contenente 10 elementi che vanno da 0 a miaTabella.Rows.Count - 1 (ovvero 9), come posso aggiungere una nuova riga in posizione 5?
In modo da translare di una posizione le righe che vanno da 6 in poi...
Spero di esser stato chiaro.