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.

Extraño comportamiento en TBrowseMod

Foro de Xailer profesional en español
Responder
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Extraño comportamiento en TBrowseMod

Mensaje por bingen »

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.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Extraño comportamiento en TBrowseMod

Mensaje por ignacio »

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
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Extraño comportamiento en TBrowseMod

Mensaje por bingen »

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
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Extraño comportamiento en TBrowseMod Otra cosa más.

Mensaje por bingen »

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
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Extraño comportamiento en TBrowseMod

Mensaje por ignacio »

bingen escribió: Mié Mar 01, 2023 5:25 pm 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í.
Dime que ejemplo de BrowseMod puedo utilizar par ver el error. Gracias
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Extraño comportamiento en TBrowseMod Otra cosa más.

Mensaje por ignacio »

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
Hecho. Incluido también 'ç'

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Extraño comportamiento en TBrowseMod

Mensaje por ignacio »

ignacio escribió: Mié Mar 01, 2023 5:35 pm
bingen escribió: Mié Mar 01, 2023 5:25 pm 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í.
Dime que ejemplo de BrowseMod puedo utilizar par ver el error. Gracias
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Extraño comportamiento en TBrowseMod

Mensaje por bingen »

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
Adjuntos
BrwModParaIOZ.zip
(81.33 KiB) Descargado 33 veces
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Extraño comportamiento en TBrowseMod

Mensaje por ignacio »

Buenos días,

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
Y me cuentas. Gracias.

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Extraño comportamiento en TBrowseMod

Mensaje por bingen »

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
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Extraño comportamiento en TBrowseMod

Mensaje por ignacio »

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.
Ok Visto y corregido
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.
Parece que esto se contradice con lo dicho en el primer párrafo.

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder