Problema en grid

148 views
Skip to first unread message

JCReyna

unread,
Dec 3, 2025, 4:37:27 PM12/3/25
to Comunidad de Visual Foxpro en Español
Buenas tardes a todos

Tengo una aplicación en vfp9 con windows 11

En los formatos de captura que contienen un grid con varias columnas, al capturar la primera columna (que es un combobox) del primer renglón en todas las columnas todo bien.

Pero al capturar la primera columna del segundo renglón (y siguientes renglones), no se ve en la pantalla lo que se esta tecleando, el resto de las columnas del renglón todo bien

Si al capturar la primera columna sin poder ver lo que se esta tecleando y la validación del campo envía un mensaje de error (messagebox) de dato invalido, al volver a capturar  el dato invalido ahora si se ve lo que se esta tecleando en la columna.

Con otras versiones de windows no se presenta este problema.

Mucho les agradeceré cualquier ayuda para resolver esto .
 

Zarlu

unread,
Dec 3, 2025, 9:32:58 PM12/3/25
to Comunidad de Visual Foxpro en Español
Buenas noches  JCReyna

Algunos comandos no responden igual con W11.
Sugerencia...
Omite uno a uno los comandos que estás usando para tratar de identificar cual es el del conflicto para entonces tratar de sustituir la función o código con otro que responda con W11.
O si gustas muestra el código que se ejecuta al capturar.

Suerte
zarlu
Chetumal, Quintana Roo, México

JCReyna

unread,
Dec 4, 2025, 11:37:43 AM12/4/25
to Comunidad de Visual Foxpro en Español
Buen día , gracias por contestar.

Este es el código que se ejecuta en el valid de campo CVECTA del combobox

   
   WOK = 'SI'
   WDATO = ALLTRIM(THISFORM.DETPOL.COLUMN1.CVECTA.TEXT)
   WRENG = THISFORM.DETPOL.COLUMN1.CVECTA.LISTINDEX
   WCOLU = THISFORM.DETPOL.COLUMN1.CVECTA.BOUNDCOLUMN
   WLLAVECC = ALLTRIM(THISFORM.DETPOL.COLUMN1.CVECTA.LIST(WRENG,WCOLU))      
   IF LASTKEY() <> 27
      IF WDATO <> '-  -'
         IF SEEK(WLLAVECC,'CGACC') AND WRENG > 0
            IF CGACC->TIPO = 'D'
               WDESCTA = ALLTRIM(CGACC->DES_CTA)
               REPLACE DETPOL->CUENTA WITH WLLAVECC
               REPLACE DETPOL->DESCTA WITH WDESCTA
            ELSE
               REPLACE DETPOL->CUENTA WITH ''
               REPLACE DETPOL->DESCTA WITH ''                        
               MESSAGEBOX('La cuenta contable no es de detalle.',0+16,'ERROR')      
               WOK = 'NO'
            ENDIF
         ELSE
            REPLACE DETPOL->CUENTA WITH ''
            REPLACE DETPOL->DESCTA WITH ''                    
            MESSAGEBOX('La cuenta no existe en el catalogo.',0+16,'ERROR')
            WOK = 'NO'
         ENDIF
      ELSE
         IF THISFORM.DETPOL.ACTIVEROW = 1
            IF THISFORM.OPCION = 'AGREGA' OR THISFORM.OPCION = 'ACTUALIZA'
               MESSAGEBOX('Debes de teclear la primer cuenta contable de la poliza en el renglon 1.',0+16,'ERROR')
               WOK = 'NO'
            ENDIF
         ENDIF
      ENDIF
   ENDIF
   IF WOK = 'NO'
      RETURN .F.
   ELSE
      IF THISFORM.DETPOL.COLUMN1.CVECTA.COMMENT = 'DES_CTA'
         THISFORM.DETPOL.COLUMN1.CVECTA.ROWSOURCE = 'SELECT CUENTA,DES_CTA FROM CGACC ORDER BY CUENTA INTO CURSOR CGP1012'
         THISFORM.DETPOL.COLUMN1.CVECTA.COLUMNWIDTHS = '80,350'
         THISFORM.DETPOL.COLUMN1.CVECTA.BOUNDCOLUMN = 1  
         THISFORM.DETPOL.COLUMN1.CVECTA.COMMENT = 'CUENTA'
      ENDIF
      THISFORM.DETPOL.COLUMN1.CVECTA.REQUERY()  
      RETURN .T.
   ENDIF

integral

unread,
Dec 4, 2025, 4:11:46 PM12/4/25
to Comunidad de Visual Foxpro en Español
Que tal Colega

Buenas Tardes :

Creo que tu problema no es la codificacion que estas empleando. 

Mas bien creo es el comportamiento en la celda del Grid.

Me paso algo parecido hace poco con un Grid

Prueba con las siguientes propiedades del Grid 

   AllowCellSelection = .T.
   Highlight = .F.
   HighlightRow = .F.
   HighlightStyle = 2

S i aun continuase el problema trata de cambiar el color de las celdas del Grid con el DinamicBackColor...

Comentas como queda.

Saludos,

Integral

Zarlu

unread,
Dec 4, 2025, 4:34:06 PM12/4/25
to Comunidad de Visual Foxpro en Español
Qué tal JCReyna!

No veo código no compatible con W11
Podrías mostrar el mensaje de error de dato invalido?

Quizá debas tomar en cuenta que el combo al perder el foco no muestra el dato si no está dentro sus opciones (items). Entonces deberás agregarlo conforme captures algún dato nuevo

Suerte
zarlu
Chetumal, Quintana Roo, México




JCReyna

unread,
Dec 4, 2025, 6:29:31 PM12/4/25
to Comunidad de Visual Foxpro en Español
Integral

Probare lo que me comentas

Zarlu

El mensaje de error de dato invalido lo envió yo si el dato no existe en el catalogo correspondiente
MESSAGEBOX('La cuenta contable no es de detalle.',0+16,'ERROR')

En este caso de trata de una cuenta contable Ej. 103-01-0001, el problema es que al ir tecleando los caracteres que forman la cuenta estos no se ven en la pantalla.

Si la cuenta no existe en el catalogo mando el messagebox de error , oprimo click para borrar el mensaje y ahora si se ven los caracteres  conforme se van tecleando.


HernanCano

unread,
Dec 4, 2025, 9:18:16 PM12/4/25
to Comunidad de Visual Foxpro en Español
Bien, JC.
Ahora muestra en una imagen el mensaje que te sale y que dice: 

La cuenta contable no es de detalle
Reply all
Reply to author
Forward
0 new messages