Exemple #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Event handler. Llamada al evento asociado a la imagen de búsqueda. </summary>
        ///
        /// <remarks>   TVO DPAA 2009-2010. </remarks>
        ///
        /// <exception cref="Exception">    Thrown when exception. </exception>
        ///
        /// <param name="sender">   Source of the event. </param>
        /// <param name="e">        Event information. </param>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        override public void imgBusquedaRapida_Click(object sender, EventArgs e)
        {
            MetodoBusqueda = imgBusquedaRapida_Click;
            //No compruebo validación campos porq lo hago en el método del evento leave
            ENCadena cadenaBuscaRap = new ENCadena();
            DataView dvResultBusq   = new DataView();

            base.imgBusquedaRapida_Click(sender, e);

            try
            {
                gbMensajesSist.Visible = true;
                if (Paginar)
                {
                    // Obtenemos el tamaño de la consulta

                    TOTAL_registros = cadenaBuscaRap.obtenerTamanyoConsulta(tbBusquedaRapida.Text);

                    // Si el total de filas es inferior al número de resgistros por página, se desactiva la paginación
                    if (TOTAL_registros <= MIN_PAGINA_registros)
                    {
                        throw new Exception("Excepción de paginación");
                    }
                    else
                    {
                        // Si el total de filas obtenidas es menos que el registro que estabamos mostrando -> actualizamos el registro actual
                        if (esDesbordamientoPagina(ACTUAL_registro))
                        {
                            ACTUAL_registro = TOTAL_registros - (TOTAL_registros % PAGINA_registros) + 1;
                        }
                        else if (esUltimaPagina(ACTUAL_registro))
                        {
                            btnPaginaSiguiente.Visible = false;
                            btnPaginaUltima.Visible    = false;
                        }
                        else
                        {
                            btnPaginaSiguiente.Visible = true;
                            btnPaginaUltima.Visible    = true;
                        }
                        MensajePaginacion(etInfoPAG, getNumPaginaActual(ACTUAL_registro), getNumPaginasTotales());
                        dvResultBusq = cadenaBuscaRap.buscarCadena(tbBusquedaRapida.Text, ACTUAL_registro, PAGINA_registros);
                    }
                }
                else
                {
                    dvResultBusq    = cadenaBuscaRap.buscarCadena(tbBusquedaRapida.Text);
                    TOTAL_registros = dvResultBusq.Table.Rows.Count;
                    if (TOTAL_registros <= MIN_PAGINA_registros)
                    {
                        chkPaginacion.Enabled = false;
                    }
                    else
                    {
                        chkPaginacion.Enabled = true;
                    }
                }
                if (dvResultBusq.Count > 0)
                {
                    dGRbuscCanales.DataSource = dvResultBusq;
                    darFormatoDataGrid();
                    dGRbuscCanales.Visible = true;
                }
                else
                {
                    dGRbuscCanales.Visible = false;
                }
                if (dvResultBusq.Count == 1)
                {
                    MensajeSistema(labelMensajesSist, "Se ha obtenido 1 resultado.", kMensajeSistema.mCORRECTO);
                }
                else
                {
                    MensajeSistema(labelMensajesSist, "Se han obtenido " + dvResultBusq.Count + " resultados.", kMensajeSistema.mCORRECTO);
                }
            }
            catch (ENException enex)
            {
                if (enex.Tipo != -1)
                {
                    MensajeSistema(labelMensajesSist, enex.Message, kMensajeSistema.mADVERTENCIA);
                }
                else
                {
                    MensajeSistema(labelMensajesSist, enex.Message, kMensajeSistema.mERROR);
                }

                gbMensajesSist.Visible = true;
            }
            catch (Exception ex)
            {
                chkPaginacion.Checked = false;
                chkPaginacion_CheckedChanged((CheckBox)chkPaginacion, null);
                MensajeSistema(labelMensajesSist, "Se ha desactivado la paginación debido a que sólo hay 1 página", kMensajeSistema.mADVERTENCIA);
                chkPaginacion.Enabled = false;
            }
        }