GeneXus - Cargar grilla mediante SDT

 
Vista:

Cargar grilla mediante SDT

Publicado por Ale (10 intervenciones) el 07/04/2009 22:37:44
Hola a todos:
el problema que tengo es el siguiente:

tengo un sdt que lo voy cargando a medida que voy seleccionando items de un combo (en el evento onclick) , cuando presiono un boton X quiero que todos estos datos se me muestren en un grilla.

la grilla tiene variables como ser codigo, nombre y monto.

Para poder lograr esto, lo que hice fue lo siguiente:

for &sdt in &Productos
&ArtNom2=&sdt.Nombre
&ArtCod2=&sdt.Codigo
&ArtTot2=&sdt.Total
// load
endfor
previamente carge el sdt.

se me carga una sola vez en la grilla el ultimo valor que selecciono del combo.
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:Cargar grilla mediante SDT

Publicado por Erik (28 intervenciones) el 08/04/2009 00:04:52
suponiendo que definiste tu STD como Collection, para cargar los datos del STD al Grid lo podrias hacer de esta forma:

&Contador = 0
Do While &Contador <= &STD.Count
&ArtNom2 = &STD.Item(&Contador).Nombre
&ArtCod2 = &STD.Item(&Contador).Codigo
&ArtTot2 = &STD.Item(&Contador).Total
Load
&Contador += 1
EndDo

Tendria que ir dentro de el evento Load...
Espero te sirva...

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:Cargar grilla mediante SDT

Publicado por ale (10 intervenciones) el 08/04/2009 20:10:22
Gracias Erik, el tema que me parece que no me esta cargando el sdt, te paso el codigo para que lo veas y me des tu opinion.

este es el codigo de un sub, que se llama dentro del evento click del combo
for each
where cod=&cod
&sdtAux= new sdt()
&sdtAux.ArtCod = ArtCod
&sdtAux.ArtNom = ArtNom
&sdtAux.ArtTot= ArtTot
&sdtAux.ArtNumLinea = &numLinea
&sdt_padre.Add(&sdtAux)
endfor

el new del sdt_padre lo tengo en el evento start.

A mi me parece que el codigo esta bien, pero talvez 4 ojos ven más que dos.

Muchas Gracias por tu ayuda.

Saludos, ale
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:Cargar grilla mediante SDT

Publicado por Erik (28 intervenciones) el 08/04/2009 23:44:58
A continuación te digo como tengo un código que funciona....
Cada vez que agrego un registro al STD lo hago asi:

// primero asigno los valores a cada uno de las variables de un STD Temporal
&STD_TMP.VAR1 = &VAR1
&STD_TMP.VAR2 = &VAR2
&STD_TMP.VAR3 = &VAR3

//despues agrego el STD Temporal al STD Principal
&STD_PRIN.Add(&STD_TMP)

//Genero un nuevo STD Temporal
&STD_TMP = NEW STD_PRIN.STD_TMP()

Es muy parecido al tuyo solo que yo genero un STD Temporal cada vez que le voy a cargar datos, tal vez es lo que te falta...
Sólo por insistir, definiste tu STD como Collection? por que si no lo definiste como Collection solo podrias cargar un registro y no varios....
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