GeneXus - Manejo de grids en GeneXus

   
Vista:

Manejo de grids en GeneXus

Publicado por Marcelo (35 intervenciones) el 08/02/2016 17:30:35
Hola, estoy trabajando en una aplicación web utilizando GeneXus X Ev. 3 con C#.
Soy nuevo en esto y mi mentalidad para programar es muy "Visual Basic" por lo que hay cosas que no sé son posibles o no de realizar ya sea con GeneXus o en Web en general.

Tengo una transacción cuyo Web Form está diseñado con K2B, sin embargo ya no tengo el patrón aplicado, sólo hice el diseño. Para agregar los detalles en la transacción hay una grilla que parte con una línea en blanco y luego tiene el botón para agregar una nueva línea.

La intención mia es que al momento de llegar a la última columna de la fila, se agregue inmediatamente una fila para agregar otra línea de detalles. Esto lo tengo de la siguiente forma:

Event NombreUltimoAtributoFila.IsValid
NombreGrilla.AddLines(1)
EndEvent

El problema es que cuando apreto el tabulador en ese último campo, me agrega dos filas, sólo la primera vez, si embargo no me sirve de esa forma. Depurando me encontré que llama, por algún motivo, dos veces al evento y dos veces con el mismo valor.

Otra cosa extraña que pasa es la siguiente. En la grilla hay un campo clave que al ingresar un valor y salir de su foco, busca y trae un nombre asociado a ese código. Lo raro es que al agregar una nueva línea (y en realidad se agregan dos) El nombre ya no aparece al apretar tabulador en el campo del código, sino al apretar el tabulador en el campo siguiente.

Lo mismo pasó en otro intento que hice, donde comienzo con cinco líneas vacías y luego tengo un botón que agrega cinco líneas más cada vez que se clickea. El punto es que todo funciona bien hasta la línea seis (Las cinco primeras + la primera línea de las segundas cinco filas) pero luego se repite el problema anterior.

Espero que alguien pueda ayudarme, he tratado de ser lo más explísito posible.
De antemano muchas gracias.
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