Auch wenn Puristen jetzt schreien, will ich darauf anmtworten:
Wenn Du in DBGrid von einer Zeile zur nächsten wechselst, ist das so, als würdest Du prior oder next in der Datenbank ausführen. Du befindest Dich in dem Moment schon im Datensatz, den Du suchst. Die Daten des Datensatzes kannst Du über die Befehle Fields[i].Value, FieldByname(Feldname).Value .... erhalten. So etwas wie bei DBGrid mit Cells[i,j] gibt es bei DBGrid nicht.
//Edit: Selbstverständlich beziehen sich die Daten auf die dem DBGrid zu Grunde liegende Tabelle oder Abfrage, also: Tabelle.FieldByname('Nachname').AsString oder Query.Fields[5].Value ....
_________________
Toleranz ist eine Grundvoraussetzung für das Leben.