Recuerda que la grid solo es un componente visual, no tiene control real sobre los datos. El valor de 50 es solo un ejemplo, tu puedes experimentar y traer los que te resulten mas rápidos. Para hacer que funcione lo de la paginacion tienes que implementar algunas rutinas que lleven la cuenta de en que pagina estas para lanzar el query de acuerdo con los registros que necesites traer. En el el ejemplo que te puse tienes el primer query que lanzarías (digamos "la página 1") y el otro query te trae las páginas que siguen, de manera que puedes guardar en una variable en que página estas para saber que valor ponerle al offset que siempre será el valor de la página multiplicado por el número de registros por pagina
Código Delphi
[-]
var pagina: integer;
registros_por_pagina: integer;
Begin
pagina := 1;
registros_por_pagina:=50;
offset_query := pagina * registros_por_pagina;
end;
Ya nada pones 2 botones "pagina anterior" y "página siguiente" y segun el caso incrementas o decrementas el valor de la variable página y recalculas el offset del query, lanzando la segunda query que te puse.