Il controllo DBGrid rispecchia esattamente la condizione del DataSet (tabella, query o altro componente) a cui è collegato attraverso un componente DataSource.

Il DataSet permette di spostarsi all'interno dei record oppure di posizionarsi su un record specifico richiamando alcuni metodi di cui è dotato il componente stesso, ad esempio
codice:
Table1.First
;
si posiziona sul primo record della tabella.
codice:
Table1.Next
si posiziona sul record successivo a quello corrente.

Questi metodi sono gli stessi che vengono richiamati dalla DBGrid quando l'utente fa clic per posizionarsi su una riga ben precisa che poi corrisponde ad un preciso record della tabella a cui fa riferimento.

Pertanto, per conoscere il valore di un campo per il record correntemente selezionato, non è necessario ispezionare le celle della griglia, ma sapendo che la griglia è collegata ad una tabella e che quella tabella si posiziona sul record indicato sulla griglia automaticamente, basta leggere il valore del campo per il record corrente direttamente dalla tabella; ad esempio
codice:
Table1.FieldByName('COGNOME').AsString
restituisce il contenuto del campo COGNOME della tabella relativamente al record selezionato richiamando i metodi del componente stesso oppure facendo clic sulla DBGrid (o su un altro DataControl associato, come il DBNavigator).

E' più chiaro?