Esempio n. 1
0
        private void _Cmb_Estado_SelectionChangeCommitted(object sender, EventArgs e)
        {
            if (_Cmb_Estado.SelectedItem != null)
            {
                _Cls_ArrayList oArregloEstado = (_Cls_ArrayList)_Cmb_Estado.SelectedItem;

                // Aqui se evita que se agregue el texto "Seleccionar..." en el grid.

                if (oArregloEstado.Value == "SEL")
                {
                    return;
                }

                agregarFiltroGrid((FiltroCombo)_Cmb_FiltrarPor.SelectedItem, oArregloEstado.Display, oArregloEstado.Value);

                ordenarFiltros();

                cambiarAspectoGrid();

                if (EstadoSeleccionado != null)
                {
                    EstadoSeleccionado(oArregloEstado.Display, oArregloEstado.Value);
                }
            }
        }
Esempio n. 2
0
        private void _Cmb_Año_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (AñoSeleccionado != null)
            {
                _Cls_ArrayList oArreglo = (_Cls_ArrayList)_Cmb_Año.SelectedItem;

                if (AñoSeleccionado != null)
                {
                    Cursor = Cursors.WaitCursor;

                    AñoSeleccionado(oArreglo.Value);

                    Cursor = Cursors.Default;
                }

                for (int iIndice = 0; iIndice < gListaFiltrosGrid.Count; iIndice++)
                {
                    if (gListaFiltrosGrid[iIndice].Nombre == "cano")
                    {
                        gListaFiltrosGrid[iIndice].Descripcion = oArreglo.Display;
                        gListaFiltrosGrid[iIndice].Valor       = oArreglo.Value;

                        _Dtg_Filtros.DataSource = gListaFiltrosGrid;
                        _Dtg_Filtros.Refresh();

                        return;
                    }
                }
            }
        }
Esempio n. 3
0
        private void _Cmb_Mes_SelectedIndexChanged(object sender, EventArgs e)
        {
            _Cls_ArrayList oArreglo = (_Cls_ArrayList)_Cmb_Mes.SelectedItem;

            if (oArreglo != null)
            {
                for (int iIndice = 0; iIndice < gListaFiltrosGrid.Count; iIndice++)
                {
                    if (gListaFiltrosGrid[iIndice].Nombre == "cmes")
                    {
                        gListaFiltrosGrid[iIndice].Descripcion = oArreglo.Display;
                        gListaFiltrosGrid[iIndice].Valor       = oArreglo.Value;

                        _Dtg_Filtros.DataSource = gListaFiltrosGrid;
                        _Dtg_Filtros.Refresh();

                        return;
                    }
                }
            }
        }
Esempio n. 4
0
        private void _Btn_Agregar_Click(object sender, EventArgs e)
        {
            IEnumerable <FiltroGrid> oIndice, oExiste;

            FiltroCombo oFiltroCombo = (FiltroCombo)_Cmb_FiltrarPor.SelectedItem;

            _Cls_ArrayList oArreglo = (_Cls_ArrayList)_Cmb_Compuesto.SelectedItem;

            /*
             *  Aqui se hace lo siguiente:
             *
             *  1. Aqui se evita que se agregue el texto "Seleccionar..." en el grid.
             *  2. Verificamos que el filtro existe en el grid, si existe manda una advertencia.
             *  3. De lo contrario, se agrega al grid el filtro.
             */

            if (oArreglo.Value == "SEL")
            {
                return;
            }

            oExiste = from oFiltro in gListaFiltrosGrid where
                      (
                (oFiltro.Valor == oArreglo.Value) &&
                (oFiltro.Tipo == _Enu_MultifiltroTipos.MultifiltroTipoCompuesto)
                      )
                      select oFiltro;

            if (oExiste.ToList().Count == 1)
            {
                MessageBox.Show("Ya existe un filtro con ese valor.", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Information);

                return;
            }

            Cursor = Cursors.WaitCursor;

            _Dtg_Filtros.DataSource = null;

            if ((gSeleccionarTodos) && (oArreglo.Value == "SELT"))
            {
                _Cls_ArrayList oDatos;

                for (int iIndice = 2; iIndice < _Cmb_Compuesto.Items.Count; iIndice++)
                {
                    /*
                     *  Por cada valor en el combo _Cmb_Compuesto:
                     *
                     *  1. Se genera un índice para el filtro, ejemplo: Proveedor #1, Proveedor #2, Proveedor #3, etc.
                     *  2. Se agregan los datos del combo al grid.
                     */

                    oDatos = (_Cls_ArrayList)_Cmb_Compuesto.Items[iIndice];

                    oIndice = from oFiltro in gListaFiltrosGrid
                              where
                              (
                        (oFiltro.Tipo == _Enu_MultifiltroTipos.MultifiltroTipoCompuesto) &&
                        (oFiltro.Nombre == oFiltroCombo.Nombre)
                              )
                              select oFiltro;

                    oExiste = from oFiltro in gListaFiltrosGrid
                              where
                              (
                        (oFiltro.Valor == oDatos.Value) &&
                        (oFiltro.Tipo == _Enu_MultifiltroTipos.MultifiltroTipoCompuesto)
                              )
                              select oFiltro;

                    if (oExiste.ToList().Count == 0)
                    {
                        gListaFiltrosGrid.Add(new FiltroGrid
                        {
                            Tipo        = oFiltroCombo.Tipo,
                            Titulo      = oFiltroCombo.TituloGrid.Replace(":", " #" + (oIndice.ToList().Count + 1) + ":"),
                            Nombre      = oFiltroCombo.Nombre,
                            Valor       = oDatos.Value,
                            Descripcion = oDatos.Display
                        });
                    }
                }
            }
            else
            {
                /*
                 *  Por cada valor en el combo _Cmb_Compuesto:
                 *
                 *  1. Se genera un índice para el filtro, ejemplo: Proveedor #1, Proveedor #2, Proveedor #3, etc.
                 *  2. Se agregan los datos del combo al grid.
                 */

                oIndice = from oFiltro in gListaFiltrosGrid where
                          (
                    (oFiltro.Tipo == _Enu_MultifiltroTipos.MultifiltroTipoCompuesto) &&
                    (oFiltro.Nombre == oFiltroCombo.Nombre)
                          )
                          select oFiltro;

                oExiste = from oFiltro in gListaFiltrosGrid where
                          (
                    (oFiltro.Valor == oArreglo.Value) &&
                    (oFiltro.Tipo == _Enu_MultifiltroTipos.MultifiltroTipoCompuesto)
                          )
                          select oFiltro;

                if (oExiste.ToList().Count == 0)
                {
                    gListaFiltrosGrid.Add(new FiltroGrid
                    {
                        Tipo        = oFiltroCombo.Tipo,
                        Titulo      = oFiltroCombo.TituloGrid.Replace(":", " #" + (oIndice.ToList().Count + 1) + ":"),
                        Nombre      = oFiltroCombo.Nombre,
                        Valor       = oArreglo.Value,
                        Descripcion = oArreglo.Display
                    });
                }
            }

            _Dtg_Filtros.DataSource = gListaFiltrosGrid;

            if (_Dtg_Filtros.Rows.Count > 0)
            {
                _Dtg_Filtros.ColumnHeadersVisible = true;
            }

            ordenarFiltros();

            cambiarAspectoGrid();

            Cursor = Cursors.Default;
        }
Esempio n. 5
0
        /// <summary>Muestra el filtro.</summary>
        /// <param name="pTipo">Tipo de control que debe mostrarse.</param>
        public void mostrarFiltro(_Enu_MultifiltroTipos pTipo)
        {
            ocultar();

            FiltroCombo oArregloFiltro = (FiltroCombo)_Cmb_FiltrarPor.SelectedItem;

            IEnumerable <FiltroGrid> oFiltros;

            switch (pTipo)
            {
            case _Enu_MultifiltroTipos.MultifiltroTipoCombo:

                _Lbl_Estado.Text    = oArregloFiltro.TituloEtiqueta;
                _Lbl_Estado.Visible = true;
                _Cmb_Estado.Visible = true;

                break;

            case _Enu_MultifiltroTipos.MultifiltroTipoBuscar:

                _Lbl_Estado.Text    = oArregloFiltro.TituloEtiqueta;
                _Lbl_Estado.Visible = true;
                _Txt_Buscar.Text    = "";
                _Txt_Buscar.Visible = true;
                _Btn_Buscar.Visible = true;

                break;

            case _Enu_MultifiltroTipos.MultifiltroTipoCaja:

                _Lbl_Estado.Text    = oArregloFiltro.TituloEtiqueta;
                _Lbl_Estado.Visible = true;
                _Txt_Texto.Visible  = true;
                _Txt_Texto.Focus();

                break;

            case _Enu_MultifiltroTipos.MultifiltroTipoAñoMes:

                oFiltros = from oFiltro in gListaFiltrosGrid
                           where (oFiltro.Tipo == _Enu_MultifiltroTipos.MultifiltroTipoAñoMes)
                           select oFiltro;

                if (oFiltros.ToList().Count == 0)
                {
                    _Cls_ArrayList oAño = (_Cls_ArrayList)_Cmb_Año.SelectedItem;
                    _Cls_ArrayList oMes = (_Cls_ArrayList)_Cmb_Mes.SelectedItem;

                    if (oMes == null)
                    {
                        return;
                    }

                    gListaFiltrosGrid.Add(new FiltroGrid
                    {
                        Tipo        = _Enu_MultifiltroTipos.MultifiltroTipoAñoMes,
                        Titulo      = "Año:",
                        Nombre      = "cano",
                        Valor       = oAño.Value,
                        Descripcion = oAño.Display
                    });

                    gListaFiltrosGrid.Add(new FiltroGrid
                    {
                        Tipo        = _Enu_MultifiltroTipos.MultifiltroTipoAñoMes,
                        Titulo      = "Mes:",
                        Nombre      = "cmes",
                        Valor       = oMes.Value,
                        Descripcion = oMes.Display
                    });
                }

                _Dtg_Filtros.DataSource = null;

                // Aqui se elimina el filtro de fecha (Desde - Hasta) en el caso de que esté en el grid.

                oFiltros = from oFiltro in gListaFiltrosGrid
                           where (oFiltro.Tipo != _Enu_MultifiltroTipos.MultifiltroTipoFecha)
                           select oFiltro;

                gListaFiltrosGrid = oFiltros.ToList();

                _Dtg_Filtros.DataSource = gListaFiltrosGrid;

                if (_Dtg_Filtros.Rows.Count > 0)
                {
                    _Dtg_Filtros.ColumnHeadersVisible = true;
                }

                cambiarAspectoGrid();

                _Lbl_Año.Visible = true;
                _Cmb_Año.Visible = true;
                _Lbl_Mes.Visible = true;
                _Cmb_Mes.Visible = true;

                break;

            case _Enu_MultifiltroTipos.MultifiltroTipoFecha:

                _Dtp_Desde.Value = DateTime.Now;
                _Dtp_Hasta.Value = DateTime.Now;

                oFiltros = from oFiltro in gListaFiltrosGrid
                           where (oFiltro.Tipo == _Enu_MultifiltroTipos.MultifiltroTipoFecha)
                           select oFiltro;

                if (oFiltros.ToList().Count == 0)
                {
                    gListaFiltrosGrid.Add(new FiltroGrid
                    {
                        Tipo        = _Enu_MultifiltroTipos.MultifiltroTipoFecha,
                        Titulo      = "Desde:",
                        Nombre      = "cdesde",
                        Valor       = _Dtp_Desde.Value.ToShortDateString(),
                        Descripcion = _Dtp_Desde.Value.ToShortDateString()
                    });

                    gListaFiltrosGrid.Add(new FiltroGrid
                    {
                        Tipo        = _Enu_MultifiltroTipos.MultifiltroTipoFecha,
                        Titulo      = "Hasta:",
                        Nombre      = "chasta",
                        Valor       = _Dtp_Hasta.Value.ToShortDateString(),
                        Descripcion = _Dtp_Hasta.Value.ToShortDateString()
                    });
                }

                _Dtg_Filtros.DataSource = null;

                // Aqui se elimina el filtro de año y mes en el caso de que esté en el grid.

                oFiltros = from oFiltro in gListaFiltrosGrid
                           where (oFiltro.Tipo != _Enu_MultifiltroTipos.MultifiltroTipoAñoMes)
                           select oFiltro;

                gListaFiltrosGrid = oFiltros.ToList();

                _Dtg_Filtros.DataSource = gListaFiltrosGrid;

                if (_Dtg_Filtros.Rows.Count > 0)
                {
                    _Dtg_Filtros.ColumnHeadersVisible = true;
                }

                cambiarAspectoGrid();

                _Lbl_Desde.Visible = true;
                _Dtp_Desde.Visible = true;
                _Lbl_Hasta.Visible = true;
                _Dtp_Hasta.Visible = true;

                break;

            case _Enu_MultifiltroTipos.MultifiltroTipoCompuesto:

                _Lbl_Estado.Text       = oArregloFiltro.TituloEtiqueta;
                _Lbl_Estado.Visible    = true;
                _Cmb_Compuesto.Visible = true;
                _Btn_Agregar.Visible   = true;

                break;
            }
        }