In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Extraño comportamiento en TBrowseMod
Extraño comportamiento en TBrowseMod
Buenas XTeam.
Cuando en un browse moderno tengo un filtro y estoy situado en el pero no escribo nada y pulso la tecla flecha abajo, me situo en la primera línea, lógico.
Pero si tecleo algo que busca un resultado de x líneas y pulso la tecla abajo se queda en el "limbo" y es una segunda flecha abajo la que me lleva a la primera línea.
Si en ese limbo pretendes hacer algo como
::oBrw:oDataGrid:aDisplayCols[1]:Value
Crash.....
Por cierto si luego subes arriba pasa al filtro y si bajas va a la primera línea del browse, pero la primera vez no.
Gracias.
Cuando en un browse moderno tengo un filtro y estoy situado en el pero no escribo nada y pulso la tecla flecha abajo, me situo en la primera línea, lógico.
Pero si tecleo algo que busca un resultado de x líneas y pulso la tecla abajo se queda en el "limbo" y es una segunda flecha abajo la que me lleva a la primera línea.
Si en ese limbo pretendes hacer algo como
::oBrw:oDataGrid:aDisplayCols[1]:Value
Crash.....
Por cierto si luego subes arriba pasa al filtro y si bajas va a la primera línea del browse, pero la primera vez no.
Gracias.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
- ignacio
- Site Admin
- Mensajes: 9119
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Extraño comportamiento en TBrowseMod
Hola,
Posiblemente el problema sea el tiempo que necesita para hacer la búsqueda el motor de bares de datos.
Con TMemDataset no suele haber ese problema, pues el filtro se hace en memoria. Posiblemente haya que poner el reloj de arena mientras se ejecuta el filtro o incluso deshabilitar el browse. Lo miro
Saludos
Posiblemente el problema sea el tiempo que necesita para hacer la búsqueda el motor de bares de datos.
Con TMemDataset no suele haber ese problema, pues el filtro se hace en memoria. Posiblemente haya que poner el reloj de arena mientras se ejecuta el filtro o incluso deshabilitar el browse. Lo miro
Saludos
Re: Extraño comportamiento en TBrowseMod
Lo siento pero no es el tiempo, ya ha buscado 3 registros de un centenar y está quietecito, pero pulso abajo y no pasa a la primera linea, si pulso de nuevo abajo sí.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
Re: Extraño comportamiento en TBrowseMod Otra cosa más.
Por cierto, recuerdas lo que comentamos de buscar con acento y sin acento que ya lo resolviste incluso en mayúsculas/minúsculas y chapeau, pero me acabo de dar cuenta que con la Ñ solo busca si la Ñ está en minúscula o mayúscula tal y como la he escrito en el filtro. O sea Ñ no busca ñ ni viceversa.
Gracias
Gracias
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
- ignacio
- Site Admin
- Mensajes: 9119
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Extraño comportamiento en TBrowseMod
Dime que ejemplo de BrowseMod puedo utilizar par ver el error. Gracias
- ignacio
- Site Admin
- Mensajes: 9119
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Extraño comportamiento en TBrowseMod Otra cosa más.
Hecho. Incluido también 'ç'bingen escribió: ↑Mié Mar 01, 2023 5:30 pm Por cierto, recuerdas lo que comentamos de buscar con acento y sin acento que ya lo resolviste incluso en mayúsculas/minúsculas y chapeau, pero me acabo de dar cuenta que con la Ñ solo busca si la Ñ está en minúscula o mayúscula tal y como la he escrito en el filtro. O sea Ñ no busca ñ ni viceversa.
Gracias
Saludos
- ignacio
- Site Admin
- Mensajes: 9119
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Extraño comportamiento en TBrowseMod
Re: Extraño comportamiento en TBrowseMod
Hola Ignacio aquí tienes el ejemplo con un memdataset y fallando.
Pero ojo no busques algo que coincida con el de la primera línea que entonces si funciona.
Busca xsri y dale a la flecha abajo y verás que no va a la primera línea hasta que le vuelvas a dar abajo.
Solo falta que tu lo compiles y a ti si te vaya.
Gracias
Pero ojo no busques algo que coincida con el de la primera línea que entonces si funciona.
Busca xsri y dale a la flecha abajo y verás que no va a la primera línea hasta que le vuelvas a dar abajo.
Solo falta que tu lo compiles y a ti si te vaya.
Gracias
- Adjuntos
-
- BrwModParaIOZ.zip
- (81.33 KiB) Descargado 5 veces
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
- ignacio
- Site Admin
- Mensajes: 9119
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Extraño comportamiento en TBrowseMod
Buenos días,
Prueba cambiando este método:
Y me cuentas. Gracias.
Un saludo
Prueba cambiando este método:
Código: Seleccionar todo
METHOD Filter( oCol ) CLASS xBrowseMod
LOCAL nRecno
IF ::oDataGrid == NIL
RETURN nil
ENDIF
::CancelEdit()
::OnFilterStart( oCol )
IF ::nIndex > 0 .AND. ::nIndex <= Len( ::oDataGrid:aWork )
nRecno := ::oDataGrid:aWork[ ::nIndex ]
ENDIF
IF ::RunFilter() .AND. !Empty( nRecno )
nRecno := AScan( ::oDataGrid:aWork, nRecno )
IF nRecno > 0
::nIndex := nRecno
ELSE
::nIndex := 1
ENDIF
ENDIF
::OnFilterEnd( oCol )
IF oCol != NIL
IF ::lShowCellSelected
::nSelectCol := oCol:nPos
ENDIF
ENDIF
::oDataGrid:SetFocus()
RETURN NIL
Un saludo
Re: Extraño comportamiento en TBrowseMod
Así como indicas el problema final desaparece pero a costa de perder una de las cosas más valiosas del filtro.
Pierdes el foco, es decir que aunque busque y te de un resultado, sigas en el filtro para seguir metiendo alguna letra más o cambiar una que has metido mal al ver que no da resultados, para dar al tabulador y meter otro filtro en otra columna, etc.
Lo siento, no me parece la solución ideal y no se si habrá otra. Lo curioso es que si no buscas o buscas algo que coincida con la primera linea del browse la tecla abajo funciona bien y si no pues se queda en el limbo.
Gracias
Pierdes el foco, es decir que aunque busque y te de un resultado, sigas en el filtro para seguir metiendo alguna letra más o cambiar una que has metido mal al ver que no da resultados, para dar al tabulador y meter otro filtro en otra columna, etc.
Lo siento, no me parece la solución ideal y no se si habrá otra. Lo curioso es que si no buscas o buscas algo que coincida con la primera linea del browse la tecla abajo funciona bien y si no pues se queda en el limbo.
Gracias
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
- ignacio
- Site Admin
- Mensajes: 9119
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Extraño comportamiento en TBrowseMod
Ok Visto y corregidoPierdes el foco, es decir que aunque busque y te de un resultado, sigas en el filtro para seguir metiendo alguna letra más o cambiar una que has metido mal al ver que no da resultados, para dar al tabulador y meter otro filtro en otra columna, etc.
Parece que esto se contradice con lo dicho en el primer párrafo.Lo siento, no me parece la solución ideal y no se si habrá otra. Lo curioso es que si no buscas o buscas algo que coincida con la primera linea del browse la tecla abajo funciona bien y si no pues se queda en el limbo.
Saludos