¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problema al modificar columnas en PowerBuilder 11.1 versión 8123 - ¿Cómo solucionarlo en eventos fwc_retrieve?

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 122 Vistas
0
Cargando...

Hola a todos,

Estoy utilizando PowerBuilder 11.1 versión 8123.


Estoy protegiendo la columna y cambiando el modo de fondo de la columna de la ventana de datos a través de la función modify() en una función local definida por el usuario (donde el tipo de argumento es datawindow y se pasa por referencia). La ventana de datos tiene más de una fila y una fila seleccionada. Antes de modificar las columnas, la función getrow() devuelve la fila seleccionada correcta, pero después de modificarla devuelve cualquier otra fila. El código está escrito en el evento fwc_retrieve .

También he utilizado las funciones scrolltorow() y setrow() después de modify(), pero no han funcionado.

En mi aplicación se utiliza PFC. No he podido encontrar la razón.

Por favor ayuda.

Gracias,

Vikrant

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Cargando...

Hola Vikrant;

Esto no es un error, ya que un método Modify ( ) para una columna afecta a todas las filas en las que se muestra la columna. Probablemente estás obteniendo la última fila en la que se operó la columna modificada.

Yo usaría los métodos GetRow ( ) y GetSelectedRow ( ) para capturar las filas actuales para el DWO que estás a punto de modificar y luego, cuando se complete la actualización, usaría los métodos SetRow() y SelectRow () para restablecer el mismo estado de fila en el DWO pasado.

Espero que esto ayude

Saludos ... Chris

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

No está claro por qué necesitas usar la función Modify() para redefinir el datawindow después de que tu ventana se haya inicializado. Intenta agregar una condición a las propiedades protect y background de la columna en el Datawindow painter en tiempo de diseño.

Si solo puedes determinar la condición en tiempo de ejecución, entonces usa la función Modify() en el evento constructor del control datawindow (para que se ejecute solo una vez) y proporciona una condición...

por ejemplo.

// Minor DOB protegido en bandera de menor

object.minor_dob.background.mode="0~tif ( minor = 'Y', 0, 1 )"

object.minor_dob.protect="0~tif ( minor = 'Y', 0, 1 )"

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?