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.

TBrowseMod lShowCellSelected

Foro de Xailer profesional en español
Responder
Avatar de Usuario
xhermita
Mensajes: 177
Registrado: Vie Feb 18, 2011 10:05 pm
Ubicación: Las Palmas de Gran Canaria
Contactar:

TBrowseMod lShowCellSelected

Mensaje por xhermita »

Sigo "peleandome" con TBrowseMod :D

No conseguía que al ponerse en edición una celda el contenido apareciera seleccionado.
Imagen

Me repase los samples y si lo hacía, así que me puse a ver qué diferencia tenía entre mi browse y el del sample y encontré la propiedad lShowCellSelected a .T. en el samples y a .F. en mi proyecto,

Según la ayuda
Si verdadero muestra la celda seleccionada en vez de la fila completa.

No parecía ser la causa pero cambie esa propiedad y efectivamente, ahora aparecía seleccionado al entrar en edición.
Imagen

Pero ahora al picar en cualquier otra celda cuando se está editando una me aparece este error.

Código: Seleccionar todo

***************************** Registro de errores *****************************

             Exe: C:\xDesarrollos\Programas\AVF_Office\AVFOffice.exe
         Version: 1.2.4.0
       User name: PMATS
   Computer name: SRV2PC
           Fecha: 11-10-2022
            Hora: 19:49:50
   Memoria libre: 1687724
     Area actual: 1

------------------------- Información del compilador --------------------------

  Versión Xailer: Xailer 8.0.1
      Compilador: Harbour 3.2.0dev (r1912031042)
Compilador C/C++: MinGW GNU C 7.3 (32-bit)
      Plataforma: Windows 7 6.1 SP1

----------------------- Información detallada del error -----------------------

      Subsistema: BASE
 Código de error: 1005
          Estado: .F.
     Descripción: Message not found
       Operación: TBrwColMod:_VALUE
      Argumentos:  [ 1] = Tipo: O Valor: 
         Fichero: 
 Código error SO: 0

Pila de llamadas:
  __ERRRT_SBASE (0)
  TBRWCOLMOD:ERROR (0)
  (b)HBOBJECT (0)
  TBRWCOLMOD:MSGNOTFOUND (0)
  TBRWCOLMOD:_VALUE (0)
  TBROWSEMOD:SAVE (1874)
  TBROWSEMOD:CANCELEDIT (1838)
  TBRWMODGRID:WMLBUTTONDOWN (3875)
  RUNFORM (0)
  TAPPLICATION:RUN (289)
  MAIN (16)***************************** Registro de errores *****************************

             Exe: C:\xDesarrollos\Programas\AVF_Office\AVFOffice.exe
         Version: 1.2.4.0
       User name: PMATS
   Computer name: SRV2PC
           Fecha: 11-10-2022
            Hora: 19:49:50
   Memoria libre: 1687724
     Area actual: 1

------------------------- Información del compilador --------------------------

  Versión Xailer: Xailer 8.0.1
      Compilador: Harbour 3.2.0dev (r1912031042)
Compilador C/C++: MinGW GNU C 7.3 (32-bit)
      Plataforma: Windows 7 6.1 SP1

----------------------- Información detallada del error -----------------------

      Subsistema: BASE
 Código de error: 1005
          Estado: .F.
     Descripción: Message not found
       Operación: TBrwColMod:_VALUE
      Argumentos:  [ 1] = Tipo: O Valor: 
         Fichero: 
 Código error SO: 0

Pila de llamadas:
  __ERRRT_SBASE (0)
  TBRWCOLMOD:ERROR (0)
  (b)HBOBJECT (0)
  TBRWCOLMOD:MSGNOTFOUND (0)
  TBRWCOLMOD:_VALUE (0)
  TBROWSEMOD:SAVE (1874)
  TBROWSEMOD:CANCELEDIT (1838)
  TBRWMODGRID:WMLBUTTONDOWN (3875)
  RUNFORM (0)
  TAPPLICATION:RUN (289)
  MAIN (16)
He comprobado que en el samples ocurre lo mismo.

Si cancelo la edición con [ESC] no da ningún error y si confirmo la edición también me da el error.

También me he dado cuenta que con lShowCellSelected a .F. al hacer doble click en cualquier celda de una fila las seleccionaba toda y me ponía en edición la celda que correspondía con la única columna que tenía habilitada la edición.

Si pongo la propiedad a .T., al hacer doble click me selecciona solo la celda donde pico y no pone en edición la otra, si hago doble click en la celda que es editable la pone en edición.

Pero desde que pique en otra celda aparece el error de arriba.

Por si sirve de pista, el error lo da después de ejecutar el método OnSaveCol que es el que estoy utilizando para comprobar lo teclado.
Pedro Amaro
2PC Service

Xailer / Néfele / MySQL-MariaDB / SQLServer
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: TBrowseMod lShowCellSelected

Mensaje por ignacio »

Buenos días,

lo siento, pero no lo entiendo. Dígame exactamente con qué ejemplo se produce el error e intento reproducirlo.

No obstante, viendo el error que reporta:
Descripción: Message not found
Operación: TBrwColMod:_VALUE
....
TBROWSEMOD:SAVE (1874)
Da la sensación de que se ha modificado el valor de oCol:oGridEdit por oCol desde el método OnSaveCol(), ya que oCol NO TIENE la propiedad 'Value', que sin embargo si tiene oCol:oGridEdit. He revisado el código y tanto para edición múltiple, como para edición simple, no parece que se produzca ese error de asignación:

Código: Seleccionar todo

   IF ::oEditCol == NIL
      FOR EACH oCol IN ::aCols
         xValue := oCol:oGridEdit:SaveValue()
         ::OnSaveCol( oCol, @xValue )
         oCol:oGridEdit:Value := xValue   <<<<<<<<<<<<<<<<Aquí se produce su error
      NEXT
   ELSE
      oCol   := ::oEditCol
      xValue := oCol:oGridEdit:SaveValue()
      ::OnSaveCol( oCol, @xValue )
      oCol:oGridEdit:Value := xValue  <<<<<<<<<<<<<<<<Aquí se produce su error
   ENDIF
Revise su código en el evento OnSaveCol()

Un saludo

Nota: En cualquier caso, es absolutamente normal que el comportamiento con lShowSelected a .T. sea distinto en la edición por doble-click o intro.
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
xhermita
Mensajes: 177
Registrado: Vie Feb 18, 2011 10:05 pm
Ubicación: Las Palmas de Gran Canaria
Contactar:

Re: TBrowseMod lShowCellSelected

Mensaje por xhermita »

Lo he probado con el samples ArrayBrowse de la carpeta Modern\Browses, le adjunto el zip.

Si habilitamos la propiedad lShowCellSelected a .T. al salir de la edición de la celda se produce el error, en caso de que este a .F. no pasa
Adjuntos
ArrayBrowse.zip
Proyecto ArrayBrowse con TBrowseMod
(4.66 KiB) Descargado 39 veces
Pedro Amaro
2PC Service

Xailer / Néfele / MySQL-MariaDB / SQLServer
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: TBrowseMod lShowCellSelected

Mensaje por ignacio »

Aquí no falla.
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
xhermita
Mensajes: 177
Registrado: Vie Feb 18, 2011 10:05 pm
Ubicación: Las Palmas de Gran Canaria
Contactar:

Re: TBrowseMod lShowCellSelected

Mensaje por xhermita »

Sigo adaptándome al TBrowseMod y me he dado cuenta de un curioso efecto que me ocurre algunas veces si hacemos doble clic en una celda editable ...

Imagen

.. aparece el control de edición en la última fila que estuviera seleccionada, pero se selecciona la fila correcta y el valor a editar es correcto, y si lo acepto me actualiza correctamente la fila.

Si primero hacemos clic y una vez seleccionada la fila hacemos doble clic no se produce, solo acurre al hacer doble clic directamente.

No lo hace siempre, pero bastante a menudo.
Pedro Amaro
2PC Service

Xailer / Néfele / MySQL-MariaDB / SQLServer
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: TBrowseMod lShowCellSelected

Mensaje por ignacio »

Ponga un logdebug() a modo de traza en el evento OnSaveCol() para saber si el comportamiento es el que usted espera. Si detecta un error claro, nos dice como reproducirlo con cualquier ejemplo de Xailer. Gracias
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder