No entiendo bien tu problema, porque se supone que el dataGrid está alimentado por un ADO, cuyo RecordSource es una SQL que te selecciona los registros a tu criterio... Y ¿qué problema tienes para que no puedas enviar a la impresora precisamente ese recordset que tienes ya filtrado?
De esta forma enviarías a la impresora los mismos registros que has enviado al monitor. Pero a buen seguro que soy yo que no he entendido bien tu pregunta.
Saludos y suerte