El objeto Report del antiguo ActiveX tenía una propiedad que era
"SQLQueryString" a la cual se le asignaba una sentencia select (cadena) y el
report se generaba con los datos que seleccionaba esa sentencia. El objeto
ReportDocument de .net no trae esa propiedad. ¿Como puedo solucionar esto?.
public void GenerarReports(string nomReport, string nomListado)
{
//Representa un informe y contiene las propiedades y los métodos para
definir,
//dar formato, cargar, exportar e imprimir el informe.
ReportDocument crReportDocument = new ReportDocument();
//Cargar el fichero de report *.rpt
crReportDocument.Load(nomReport);
//Proporciona propiedades para la recuperación y configuración de opciones
de exportación del informe.
ExportOptions crExportOptions;
//Proporciona propiedades para la recuperación y configuración del nombre de
archivo al exportar al disco.
DiskFileDestinationOptions crDiskFileDestinationOptions = new
DiskFileDestinationOptions();
crExportOptions = crReportDocument.ExportOptions;
crDiskFileDestinationOptions.DiskFileName = nomListado;
crReportDocument.ExportOptions.ExportDestinationType ExportDestinationType.DiskFile;
//Genera un archivo PDF
crReportDocument.ExportOptions.ExportFormatType ExportFormatType.PortableDocFormat;
crReportDocument.ExportOptions.DestinationOptions crDiskFileDestinationOptions;
try
{
crReportDocument.Export();
}
catch (LogOnException engEx)
{
MessageBox.Show("Los parámetros de inicio de sesión son incorrectos.
Compruebe su nombre de usuario y contraseña." + engEx.Message);
}
catch (DataSourceException engEx)
{
MessageBox.Show("Error al conectarse a la base de datos. " + engEx.Message);
}
catch (EngineException engEx)
{
MessageBox.Show (engEx.Message);
}
finally
{
crReportDocument.Close();
}
}
Gracias y un saludo a Octavio por la anterior respuesta.
Leer las respuestas