Hola, si el control posee una propiedad datasource puedes usarla como origen de datos para un reporte.
Código vb.net:
Ver originalDim rpt As New ReportDocument()
rpt.Load("c:\tureporte.rpt")
rpt.setDataSource(Me.GridView1.DataSource)
Para pasar datos de un textbox a un reporte puedes manejarlo así:
Código vb.net:
Ver originalDim ctrl As TextObject = CType(rpt.ReportDefinition.ReportObjects("objeto_del_crystal_reports"), TextObject)
ctrl.Text = "Texto para el control del reporte"
objeto_del_crystal_reports es el nombre del objeto de texto del
REPORTE.
Espero te ayude, cualquier duda me avisas.
PD: En mi blog tengo 2 post sobre Crystal Reports quizá te sirvan de ayuda, vienen con el código fuente.