En realidad no es tan dificil. La ayuda de delphi te puede servir mucho.
Lo que necesitas es un Query para hacer la consulta a tu base de datos. Generalmente este Query (o TTable) lo enlazas a un Datasource y luego el Grid lo enlazas a este datasource para ver la información del Dataset (Query o Table):
Dataset -> DataSource -> Grid.
Para que puedas utilizar un ClientDataset, necesitas proveer de información al cliente, para esto se utiliza un DatasetProvider, el cuál enlazas a tu Dataset (Query o table).
Dataset -> DatasetProvider -> ClientDataset -> DataSource -> Grid
Una vez que tienes hecho esto, todo el trabajo que hagas, lo realizas sobre el clientDataset y este se encarga de trabajar sobre tu Dataset. Puedes trabajar con el ClientDataset igual que si estuvieras trabajar con un TQuery o un TTable; puedes ordenar, filtrar, agregar, borrar, modificar etc. Puedes definir los campos con el tipo de dato adecuado, incluso puedes crear tus propios campos (internalcalc) donde puedes hacer cálculos aunque estos no existan en tu base de datos.
Cuando ya hayas realizado todo el trabajo sobre el cliente, puedes controlar en que momento trasladas esa información a la base de datos utilizando un ApplyUpdates o un CancelUpdates en caso de que no quieras cambiar nada.
Aquí tienes un
ejemplo sobre el uso del clientdataset.