Arrastras un control CrystalReportViewer a tu página y en el evento que desees pones el sgte código:
Código c#:
Ver originalusing CrystalDecisions.CrystalReports.Engine;
private void mostrarReporte()
{
ReportDocument rpt = new ReportDocument();
rpt.Load(@"C:\mireporte.rpt"); //Ruta del archivo rpt
//Pasar datos de un control al reporte
//objetotexto1 es el nombre del control que recibirá los datos en el reporte
TextObject ctrl = (TextObject)rpt.ReportDefinition.ReportObjects["objetotexto1"];
ctrl.Text = "Valor que pasará al reporte"; //texto para el control del reporte.
rpt.setDataSource(Tu_DataTable); //asignar origen de datos al reporte
crystalReportViewer1.ReportSource = rpt; //enlazar el reporte con el visor
}
Cualquier duda me avisas