public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { ListadoDoctores rpt = new ListadoDoctores(); rpt.Site = this.Site; return(rpt); }
private void cmdImprimir_Click(object sender, EventArgs e) { MySqlConnection oCnn = new MySqlConnection(cclsConexion); MySqlCommand oComando = new MySqlCommand(); MySqlDataAdapter oAdaptador = new MySqlDataAdapter(); StringBuilder sbQuery = new StringBuilder(); string cWhere = " where 1 = 1"; string cUsuario = frmLogin.cUsuarioActual; string cTitulo = ""; try { oCnn.Open(); oComando = oCnn.CreateCommand(); oComando.Connection = oCnn; if (rdoSeleccionar.Checked) { if (chkM.Checked) { cWhere = cWhere + " and doctores.doctores_sexo = 'M'"; } if (chkF.Checked) { cWhere = cWhere + " and doctores.doctores_sexo = 'F'"; } if (chkRango.Checked) { cWhere = cWhere + " and doctores.doctores_rango = " + cmbRango.SelectedValue + ""; } if (chkEspecialidad.Checked) { cWhere = cWhere + " and doctores.doctores_especialidad = " + cmbEspecialidad.SelectedValue + ""; } sbQuery.Clear(); sbQuery.Append("select upper(doctores.doctores_rango) as doctores_rango,upper(doctores.doctores_cedula) as doctores_cedula,"); sbQuery.Append("upper(doctores.doctores_nombre) as doctores_nombre,upper(doctores.doctores_apellido) as doctores_apellido,"); sbQuery.Append("upper(rangos.rangoabrev) as rangoabrev,upper(especialidades.especialidades_descripcion) as especialidades_descripcion"); sbQuery.Append(" from doctores"); sbQuery.Append(" left join rangos on rangos.rango_id = doctores.doctores_rango"); sbQuery.Append(" left join especialidades on especialidades.especialidades_id = doctores.doctores_especialidad"); sbQuery.Append(cWhere); //sbQuery.Append(" order by doctores.doctores_rango"); } if (rdoTodos.Checked) { sbQuery.Clear(); sbQuery.Append("select upper(doctores.doctores_rango) as doctores_rango,upper(doctores.doctores_cedula) as doctores_cedula,"); sbQuery.Append("upper(doctores.doctores_nombre) as doctores_nombre,upper(doctores.doctores_apellido) as doctores_apellido,"); sbQuery.Append("upper(rangos.rangoabrev) as rangoabrev,upper(especialidades.especialidades_descripcion) as especialidades_descripcion"); sbQuery.Append(" from doctores"); sbQuery.Append(" left join rangos on rangos.rango_id = doctores.doctores_rango"); sbQuery.Append(" left join especialidades on especialidades.especialidades_id = doctores.doctores_especialidad"); sbQuery.Append(" order by rangos.orden"); } oComando.CommandText = sbQuery.ToString(); oAdaptador = new MySqlDataAdapter(oComando); DataTable dtDoctores = new DataTable(); oAdaptador.Fill(dtDoctores); oCnn.Close(); int nRegistro = dtDoctores.Rows.Count; if (nRegistro == 0) { MessageBox.Show("No Hay Datos Para Mostrar, Favor Verificar", "Sistema Medico", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { //1ero.HACEMOS LA COLECCION DE PARAMETROS //los campos de parametros contiene un objeto para cada campo de parametro en el informe ParameterFields oParametrosCR = new ParameterFields(); //Proporciona propiedades para la recuperacion y configuracion del tipo de los parametros ParameterValues oParametrosValuesCR = new ParameterValues(); //2do.CREAMOS LOS PARAMETROS ParameterField oUsuario = new ParameterField(); //parametervaluetype especifica el TIPO de valor de parametro //ParameterValueKind especifica el tipo de valor de parametro en la PARAMETERVALUETYPE de la Clase PARAMETERFIELD oUsuario.ParameterValueType = ParameterValueKind.StringParameter; //3ero.VALORES PARA LOS PARAMETROS //ParameterDiscreteValue proporciona propiedades para la recuperacion y configuracion de //parametros de valores discretos ParameterDiscreteValue oUsuarioDValue = new ParameterDiscreteValue(); oUsuarioDValue.Value = cUsuario; //4to. AGREGAMOS LOS VALORES A LOS PARAMETROS oUsuario.CurrentValues.Add(oUsuarioDValue); //5to. AGREGAMOS LOS PARAMETROS A LA COLECCION oParametrosCR.Add(oUsuario); //nombre del parametro en CR (Crystal Reports) oParametrosCR[0].Name = "cUsuario"; //nombre del TITULO DEL INFORME cTitulo = "REPORTE ESTADISTICO DE MEDICOS"; //6to Instanciamos nuestro REPORTE Reportes.ListadoDoctores oListado = new Reportes.ListadoDoctores(); //pasamos el nombre del TITULO del Listado //SumaryInfo es un objeto que se utiliza para leer,crear y actualizar las propiedades del reporte oListado.SummaryInfo.ReportTitle = cTitulo; //7mo. instanciamos nuestro el FORMULARIO donde esta nuestro ReportViewer frmPrinter ofrmPrinter = new frmPrinter(dtDoctores, oListado, cTitulo); //ParameterFieldInfo Obtiene o establece la colección de campos de parámetros. ofrmPrinter.CrystalReportViewer1.ParameterFieldInfo = oParametrosCR; ofrmPrinter.ShowDialog(); } } catch (Exception ex) { MessageBox.Show("Error : " + ex.Message, "Mostrando Reporte", MessageBoxButtons.OK, MessageBoxIcon.Information); clsExceptionLog.LogError(ex, false); return; } }
private void ImprimirCaso() { MySqlConnection oCnn = new MySqlConnection(cCadenaclsConexion); MySqlCommand oComando = new MySqlCommand(); MySqlDataAdapter oAdaptador = new MySqlDataAdapter(); DataTable dtCasomedico = new DataTable(); StringBuilder sbQuery = new StringBuilder(); string cWhere = ""; string cUsuario = frmLogin.cUsuarioActual; string cTitulo = ""; //1ero. Creo mi comando // El metodo CreateCommand Crea y devuelve un SqlCommand objeto asociado al SqlConnection . oComando = oCnn.CreateCommand(); //2do. paso la cadena de coneccion al Commando //la propiedad Connecti Obtiene o establece el SqlConnection utiliza esta instancia del SqlCommand. oComando.Connection = oCnn; //abro la coneccion oCnn.Open(); if (rdoImprimeCaso.Checked) { cWhere = " where casomedico.idcasomedico = " + txtNoCaso.Text + ""; } //if (rdoPaciente.Checked) //{ // cWhere = " where paciente.id_paciente = " + cboPaciente.SelectedValue + ""; //} if (rdoCedula.Checked) { cWhere = " where paciente.cedula = '" + txtCed.Text + "'"; } sbQuery.Clear(); sbQuery.Append("select casomedico.idcasomedico,casomedico.cedula_doctor,casomedico.cedula_paciente,"); sbQuery.Append("casomedico.problema_descripcion,casomedico.problema_objetivo,casomedico.problema_accion,"); sbQuery.Append("casomedico.problema_prescripcion,casomedico.fecha,"); sbQuery.Append("doctores.doctores_cedula,doctores.doctores_nombre,"); sbQuery.Append("doctores.doctores_apellido,doctores.doctores_rango,doctores.doctores_especialidad,"); sbQuery.Append("paciente.cedula,paciente.rango,paciente.nombre,paciente.apellido,paciente.edad,"); sbQuery.Append("rangos.rango_descripcion,rangos.rangoabrev,"); sbQuery.Append("especialidades.especialidades_descripcion"); sbQuery.Append(" from casomedico"); sbQuery.Append(" left join doctores on doctores.doctores_cedula = casomedico.cedula_doctor"); sbQuery.Append(" left join especialidades on especialidades.especialidades_id = doctores.doctores_especialidad"); sbQuery.Append(" left join paciente on paciente.cedula = casomedico.cedula_paciente"); sbQuery.Append(" left join rangos on rangos.rango_id = paciente.rango"); sbQuery.Append(cWhere); sbQuery.Append(""); sbQuery.Append(""); sbQuery.Append(""); sbQuery.Append(""); sbQuery.Append(""); oComando.CommandText = sbQuery.ToString(); oAdaptador = new MySqlDataAdapter(oComando); oAdaptador.Fill(dtCasomedico); int nRegistro = dtCasomedico.Rows.Count; if (nRegistro == 0) { MessageBox.Show("No Hay Datos Para Mostrar, Favor Verificar", "Sistema Medico", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { //1ero.HACEMOS LA COLECCION DE PARAMETROS //los campos de parametros contiene un objeto para cada campo de parametro en el informe ParameterFields oParametrosCR = new ParameterFields(); //Proporciona propiedades para la recuperacion y configuracion del tipo de los parametros ParameterValues oParametrosValuesCR = new ParameterValues(); //2do.CREAMOS LOS PARAMETROS ParameterField oUsuario = new ParameterField(); //parametervaluetype especifica el TIPO de valor de parametro //ParameterValueKind especifica el tipo de valor de parametro en la PARAMETERVALUETYPE de la Clase PARAMETERFIELD oUsuario.ParameterValueType = ParameterValueKind.StringParameter; //3ero.VALORES PARA LOS PARAMETROS //ParameterDiscreteValue proporciona propiedades para la recuperacion y configuracion de //parametros de valores discretos ParameterDiscreteValue oUsuarioDValue = new ParameterDiscreteValue(); oUsuarioDValue.Value = cUsuario; //4to. AGREGAMOS LOS VALORES A LOS PARAMETROS oUsuario.CurrentValues.Add(oUsuarioDValue); //5to. AGREGAMOS LOS PARAMETROS A LA COLECCION oParametrosCR.Add(oUsuario); //nombre del parametro en CR (Crystal Reports) oParametrosCR[0].Name = "cUsuario"; //nombre del TITULO DEL INFORME cTitulo = "REPORTE PROBLEMAS MEDICO"; //6to Instanciamos nuestro REPORTE Reportes.ListadoDoctores oListado = new Reportes.ListadoDoctores(); //pasamos el nombre del TITULO del Listado //SumaryInfo es un objeto que se utiliza para leer,crear y actualizar las propiedades del reporte oListado.SummaryInfo.ReportTitle = cTitulo; Reportes.RepProblemaMedicoPaciente oReporte = new Reportes.RepProblemaMedicoPaciente(); oReporte.SummaryInfo.ReportTitle = cTitulo; frmPrinter ofrmPrimter = new frmPrinter(dtCasomedico, oReporte, cTitulo); ofrmPrimter.CrystalReportViewer1.ParameterFieldInfo = oParametrosCR; ofrmPrimter.ShowDialog(); } }