El componente TDataSource ofrece un mecanismo para enganchar los conjuntos de datos (Table, TQuery y TStoredProc, por ejemplo) con los controles visuales que muestran los datos (TDBGrid, TDBEdit, TDBListBox, etc.). TDataSource se encarga de toda la comunicación necesaria entre ellos.
Para cambiar el conjunto de datos enlazado a un componente de tipo TDataSource (ya sea éste una tabla o una consulta), solamente hay que modificar su propiedad DataSet.
La propiedad AutoEdit del componente TDataSource determina si se invoca automáticamente al método Edit del conjunto de datos asociado cuando un control (un TDBEdit, por ejemplo) recibe el foco.
Para crear nuestros propios componentes de forma que se puedan enlazar a un conjunto de datos hemos de automatizar el intercambio de mensajes con los componentes TDataSource. El código común a todos los controles de datos está recogido en TDataLink (y en su descendiente TFieldDataLink), de forma que podemos utilizarlo para hacer nuestros componentes "data-aware".