GeneXus - Refresh en Grid trn Java

 
Vista:

Refresh en Grid trn Java

Publicado por Patricio Ojeda V (194 intervenciones) el 09/02/2007 16:57:04
Amigos del foro,

En una transacción de 2 niveles entro en modo UPD para actualizar los datos, y el cliente puede obviamente eliminar, modificar u agregar datos a la grilla. La problemática que tengo es que a la hora de agregar datos desde el Prompt de selección el usuario desea seleccionar varios datos a la vez para no estar entrando y saliendo de este cada vez que necesite agregar algo.

Para ello en el prompt de selección (el cual esta creado a mano) tengo hecho algo muy simple, coloque un Checkbox para que el usuario haga clic en lo que desea agregar, y luego hago un New mediante un Prc para actualizar la BD con lo seleccionado.

La BD se actualiza, el problema es que al salir del prompt el cual lo llamo desde la Trn yo hago un grid.refresh() y la grilla no se actualiza con los datos en pantalla. Si salgo de la Trn y vuelvo a entrar si se muestran los datos como corresponde…

¿Por que no funciona el grid.refresh() en este caso? Existe alguna otra forma de actualizar los datos en pantalla sin tener que salir y entrar de la Trn.

Gx 9
Java U2
Dev. Env. U3

Saludos,

Patricio Ojeda V
http://www.qtechnologies.cl
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Refresh en Grid trn Java

Publicado por Leandro (146 intervenciones) el 12/02/2007 13:00:51
Creo que el Refresh trae solo los datos ya existentes en la base de datos.
Me parece que eso mismo que hiciste en un Workpanel con variables andaría 10 puntos, pero me parece que no es para una transacción.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Refresh en Grid trn Java

Publicado por Patricio Ojeda V (194 intervenciones) el 12/02/2007 15:39:30
El refresh tal como dices trae los datos existentes en la BD. El problema es que el grillaxxx.refresh() no me trae los datos cuando correponde, y el proceso de agregar filas funciona, pues yo voy a la tabla a visualizar los datos, y los datos estan, y estan correctos.

Tengo que salir y entrar al nuevamente a la Trn para poder ver los datos como corresponde.

Esto en VB funciona excelente. Pero en Java no funciona.

He intentado pasar la Trn a un Wkp, pero todo lo referente a los procesos matematicos no funciona como debiera funcionar en un Wkp.

Este es uno de los incomodos problemas que aparecen a veces en Gx. Es el tipico proceso que funciona bien en un generador, y en otro no.

Saludos a todos...

Patricio Ojeda V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Refresh en Grid trn Java

Publicado por Patricio Ojeda V (194 intervenciones) el 12/02/2007 17:54:15
Encontre como solucionar el problema...

Saludos

Patricio Ojeda V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Refresh en Grid trn Java

Publicado por Luis Alberto (119 intervenciones) el 12/02/2007 18:32:31
Que tal Patricio,

Sería genial que comentes como solucionaste pues para muchas personas nos puede servir de mucho (Me incluyo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Refresh en Grid trn Java

Publicado por Patricio Ojeda V (194 intervenciones) el 12/02/2007 19:51:43
El problema se presento cuando un usuario de un sistema que ya esta funcionando y corriendo sin problemas me pidio poder seleccionar multiples productos desde el Prompt de seleccion.

A partir de esto hice el Prompt de seleccion a mano colocando en el grid una variable tipo CheckBox para que el usuario seleccione los productos que desee y se agreguen automaticamente al detalle mediante un Prc. Pero al momento de hacer el grilla.refresh() no me aparecia nada.

Despues me acorde que en una Trn Java y una Trn .Net los datos se graban hasta el final al momento de confirmar(presionar el boton Enter), a diferencia de una Trn VB o VFP donde los datos se van grabando por nivel.

Despues comence a pensar y lleque a la conclusion que obviamente los datos no estan en la BD, y obviamente el New no tiene por donde recorrer ya que los datos aun no estan confirmados.

Posteriormente a esto me di cuenta ademas de 2 cosas que no se si las saben, pero se las comento por si no:

1.- El grilla.refresh() no funciona en una Trn. Es cosa de ver la ayuda.

Refresh Grid Event
Scope
Objects: Web Panels, Work Panels
Controls: Grid
Languages: .NET, C/SQL, Java, Visual Basic, Visual FoxPro
Interfaces: Web, Win

2.- El "comando" refresh actualiza los datos de una Trn

Refresh Command
Scope
Objects: Transactions, Web Panels, Work Panels
Languages: .NET, C/SQL, Java, Visual Basic, Visual FoxPro
Interfaces: Web, Win

Solucion:

Tener 1 Trn pero dividida en 2 partes:

1.- La primera Trn para ingresar la cabezera, y una vez que este todo ingresado en el Evento After Trn llamar a
2.- La segunda Trn en Modo UPD para hacer el ingreso del detalle.

En el Wkp de seleccion de productos, se agregan los productos seleccionados con un Prc, y despues de llamarlo en la TRN NO HAY QUE HACER UN "grilla.refresh()", sino tan solo un refresh

Eso es todo

Ojala les sirva ahora o lo tengan en cuenta para algo a futuro...

Saludos a todos...

Patricio Ojeda V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Refresh en Grid trn Java

Publicado por Luis Alberto (119 intervenciones) el 13/02/2007 01:41:47
Muy Buena la participación tuya, se que ha muchos nos servirá

Gracias
Exitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar