Filtro como excel

Tengo una tabla con campos como: código cliente, pago realizado, fecha de pago, saldo anterior, nuevo saldo.
Esta tabla la puedo ver actualmente en una ventana que posee un dw que me la muestra, la cuestión es que quiero crear un filtro para seleccionar los pagos de un código determinado, o los pagos en una fecha determinada. Todo en tiempo de ejecución.
¿Qué me sugiere usted?
1

1 Respuesta

12.750 pts. Horacio. MX. Sybase ASE 12.5, ASA 8 y PB 9...
La forma de establecer un sort en tiempo de ejecución es a través del comando:
dwcontrol.SetSort ( string format )
Y después aplicar el sort mediante:
Dwcontrol. Sort()
en donde string format puede ser del tipo:
dwcontrol.SetSort("#2 D, #3 A")
Dwcontrol. Sort()
o
dw_1.SetSort("nom_cli D, pat_cli A")
Dwcontrol. Sort()
Cualquiera de las dos formas funciona, aquí lo importante es como armar esta cadena
sobre todo cuando deseas una combinación de campos y orden, lo cual seguramente te
llevará a tener que ingeniarte de acuerdo a tu necesidad. Ok, para no desgastarnos
en mensajes, te sugiero veas la aplicación de ejemplos de PB particularmente el de:
Sort & Filter en la sección DataWindows, Runtime Modification
Ahor que también podrías hacer lo siguiente:
Event: doubleclicked // en donde nom_cli es la primera columna del dw y pat_cli la segunda
if dwo.name = 'nom_cli' then // combina el orden de nom_cli A y pat_cli D cuando el evento
dw_1.SetRedraw(false) // se ejecuta sobre la columna nom_cli
dw_1.SetSort("nom_cli A, pat_cli D")
dw_1.SetRedraw(true)
end if
if dwo.name = 'pat_cli' then // combina el orden de pat_cli A y nom_cli D cuando el evento
dw_1.SetRedraw(false) // se ejecuta sobre la columna pat_cli
dw_1.SetSort("#2 A, #1 D")
dw_1.SetRedraw(true)
end if
dw_1.Sort()
O bien y para finalizar:
Si el parámetro de la función setsort es igual a null, entonces se abre la ventana de dialogo
de default de PB en donde se puede hacer un sort múltiple y además con la posibilidad de modificar
la expresión usada, desafortunadamente esto es muy técnico, poco recomendable para un usuario final
pero no está demás que lo observes.
string ls_null
setnull(ls_null)
dw_1.SetSort(ls_null)
dw_1.Sort()
Espero que esto te sirva para resolver tu problema y si no hay más dudas al respecto te pido de favor cerrar la pregunta
un Saludo,
Horacio
--- PB v9, ASE v12, ASA ---
Pd. Te pido de favor cerrar tu pregunta anterior
Podrías cerrar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas