Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/06/2011, 07:20
Avatar de jhonwilliams
jhonwilliams
 
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Respuesta: Crystal report

Hay varios puntos que mirar. (Todos desde mi punto de vista)

Primero la conexión.
Un reporte no queda "amarrado" a una conexión fija ya que estos se diseñan con un DataSetTipado, este es quien define la estructura de datos del reporte.

Segundo
Un DataSet es un conjunto de tablas por lo tanto el reporte puede tener como origen para su diseño una o varias tablas, cuando quieres cargar el reporte en tu aplicacion solo debes pasar una instancia del DataSet con el cual se diseño con los datos ya cargados y el reporte muestra lo que tu le entregues ya sea:
Cita:
la informacion que requiera el usuario
o todos los registros de la tabla, eso se define desde la aplicación si el usuario realiza filtros o no

Tercero Codigo de Ejemplo.

Cargamos los datos en un DataSet
Código:
//Cargamos el reporte
Core.Calls calls = new MiSistema.Core.Calls();
datesDataSet1.Clear();
datesDataSet1.tblCalls.Merge(calls.GetDataReportCalls());

Creamos una instancia del reporte y le asignamos el DataSet que llenamos en la consulta anterior

Código:
rptDates report = new rptDates();
report.SetDataSource(datesDataSet1);
Asignamos el Reporte a un CrystalReportViewer
crystalReportViewer1.ReportSource = report

Entonces como puedes ver por ningún lado se le asigno una conexión, solo se le asignan los datos que debe de mostrar.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)