Power Builder - DW Composite

   
Vista:

DW Composite

Publicado por Ivan (101 intervenciones) el 08/12/2009 14:03:59
Hola amigos foristas, se les saluda muy cordialmente.

Estoy trabajando con DW Compuesto (DW Composite). Quisiera saber como se hace para trabajar con un campo dentro del dw_1 que es de tipo DropDownDw, en ese campo se carga un maestro de proveedores. Para ello se que se un DW normal tu declaras el tipo de dato DataWindowChild y luego se lo asignas a la funcion GetChild().

Por ejemplo para explicar lo anterior, esto se haria en el caso de un dw normal:

DataWindowChild idwc_proveedor

dw_1.GetChild("codigo_proveedor",idwc_proveedor)
idwc_proveedor.SetTransObject(SQLCA)
idwc_proveedor.Retrieve()

Como se haria en un DW Composite?

Si alguien tiene la respuesta mucho sabria agradecerles de antemano. Gracias por su atención.
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:DW Composite

Publicado por miguell (108 intervenciones) el 08/12/2009 15:06:51
Si lo entiendo bien, tienes / quieres tener en por ejemplo tu ventana:

- un control de dw: dw_compuesto ( donde asignas un dw compuesto)
- dentro de dw_compuesto tendrás varias dw's como por ejemplo dw_1 y dw_2
- y dentro de dw_1 quieres tener un dddw dentro de la que quieres acceder a alguna columna: por ejemplo: la columna 'cp' que tiene asignado un dddw dentro de la que hay una columna 'localidad'.
---------------------------------------------------------
datawindowchild ldwc_dw_1, ldwc_dddw
string ls_localidad

dw_compuesto.settransobject(sqlca)
dw_compuesto.retrieve()

// obtener acceso al dw_1
if dw_compuesto.GetChild( 'dw_1', ldwc_dw_1) = -1 then
messagebox('debug', 'no puedo obtener child de dw_1')
return
end if

// obtener acceso al dddw en la columna 'cp' de dw_1
if ldwc_dw_1.Getchild( 'cp', ldwc_dddw ) = -1 then // columna 'cp' tiene un dddw
messagebox( 'debug' , 'no puedo obtener child de ldwc_dw_1')
return
end if

if ldwc_dddw.rowcount() > 1 then
ls_localidad = ldwc_dddw.getitemstring( 1, 'localidad' )
end if

messagebox('debug', ls_localidad)
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