Filtro. Modificar comportamiento

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:26 PM por David Miralpeix

En el siguiente ejemplo podemos ver que eventos y como acceder a cada uno de ellos para aplicar nuestro código 

personalizado y alterar el funcionamiento de los filtros en un formulario: 


Código VB6:

Sub Initialize()
  'ActivarScripts para el control del filtro
  gForm.Controls("botFiltrar").ActivarScripts = True 
End Sub

'-----------
'aIndex = 1: Filtrar
'aIndex = 2: Limpiar
'-----------

'Before
Sub Filtro_BeforeClick(aBotFiltro, aIndex, aCancel)
  If aBotFiltro.Name = "botFiltrar" Then
    If aIndex = 1 Then 'Filtrar
      MsgBox "Before: Estoy filtrando"
    End If
    If aIndex = 2 Then 'Limpiar
      MsgBox "Before: Estoy limpiando"
    End If
  End If
End Sub

'After
Sub Filtro_AfterClick(aBotFiltro, aIndex)
  If aBotFiltro.Name = "botFiltrar" Then
    If aIndex = 1 Then 'Filtrar
      MsgBox "After: Estoy filtrando"
    End If
    If aIndex = 2 Then 'Limpiar
      MsgBox "After: Estoy limpiando"
    End If
  End If  
End Sub


Código C#:

using AhoraCore;
using AhoraOCX;
using static AhoraCore.VBA.Interaction;

namespace AhoraScriptsPantalla
{
  public class AhoraMov_frmMovAlmacen : AhoraOCX.AhoraBaseScript
  {
        public void Initialize()
        {
            (gForm.Controls["botFiltrar"] as ICntBotonFiltro).ActivarScripts = true;
        }

        // -------------
        // aIndex = 1: Filtrar
        // aIndex = 2: Limpiar
        // -------------

        public void Filtro_BeforeClick(ICntBotonFiltro aBotFiltro, Valor aIndex, ref Valor aCancel)
        {
            if (aBotFiltro.Name == "botFiltrar")
            {
                if (aIndex == 1)    // Filtrar
                {
                    MsgBox("Before: Estoy filtrando");
                }
                if (aIndex == 2)    // Limpiar
                {
                    MsgBox("Before: Estoy limpiando");
                }
            }
        }


        public void Filtro_AfterClick(ICntBotonFiltro aBotFiltro, Valor aIndex)
        {
            if (aBotFiltro.Name == "botFiltrar")
            {
                if (aIndex == 1)    // Filtrar
                {
                    MsgBox("After: Estoy filtrando");
                }
                if (aIndex == 2)    // Limpiar
                {
                    MsgBox("After: Estoy limpiando");
                }
            }
        }

    }
}

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo