Power Builder - como hacer que no aparezcan los argumentos en tiempo de ejecucion

   
Vista:

como hacer que no aparezcan los argumentos en tiempo de ejecucion

Publicado por claudia (5 intervenciones) el 26/05/2011 02:01:26
Buen dia

De antemano muchas gracias a quienes me puedan ayudar, mi problema es el siguiente
tengo una ventana en donde tengo 3 dropdowm
pais, departamento y municipio

segun el pais seleccionado me tiene que aparecer sus departamentos y al seleccionar un departamento los municipios correspondientes.

el problema está a la hora de ejecutar el programa y quiero ver la ventana, me aparece primero los argumentos no la ventana, no se que estoy poniendo demas o que me falta el codigo de la ventana que tengo es el siguiente


EN EL CONSTRUCTOR

datawindowchild ldwm,ldwd
integer li_err,li_pos
string ls_pais

this.insertrow(0)

dw_1.getchild('prm_codigo',ldwm)
dw_1.getchild('prd_codigo',ldwd)
ldwd.settransobject(sqlca)
ldwd.retrieve(is_pais)
ldwm.settransobject(sqlca)
ldwm.retrieve(is_pais,is_pais)



EN EL INTENCHANGED

datawindowchild ldwm,ldwd
integer li_err,li_pos

IF dwo.name = 'prp_codigo' THEN
is_pais = data
dw_1.getchild('prd_codigo',ldwd)
ldwd.settransobject(sqlca)
ldwd.retrieve(data)

END IF

IF dwo.name = 'prd_codigo' THEN
is_depto = data
//MESSAGEBOX('depto',is_depto)
dw_1.getchild('prm_codigo',ldwm)
ldwm.settransobject(sqlca)
ldwm.retrieve(is_pais,data)


END IF




EN EL RETRIEVEREND

datawindowchild ldwm,ldwd
integer li_err,li_pos
string sql_org,sql_mod
string ls_pais,ls_depto

IF rowcount > 0 and this.getrow() = 1 THEN
is_pais = this.object.prp_codigo[1]
is_depto = this.object.prd_codigo[1]

dw_1.getchild('prd_codigo',ldwd)
dw_1.getchild('prm_codigo',ldwm)
dw_1.settransobject(sqlca)
ldwd.retrieve(is_pais)

ldwm.settransobject(sqlca)
ldwm.retrieve(is_pais,is_depto)

END IF



EN EL ROWSFOCUSCHANGED
//DECLARE DW CHILDS
datawindowchild ldwm,ldwd
integer li_err,li_pos
string sql_org,sql_mod
string ls_pais,ls_depto

IF currentrow > 0 THEN
ls_pais = this.object.prp_codigo[currentrow]
ls_depto = this.object.prd_codigo[currentrow]

dw_1.getchild('prd_codigo',ldwd)
dw_1.getchild('prm_codigo',ldwm)
ldwd.settransobject(sqlca)
ldwd.retrieve(is_pais)

ldwm.settransobject(sqlca)
ldwm.retrieve(is_pais,is_depto)



END IF

nuevamente muchas gracias a quienes me puedan ayudar
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

como hacer que no aparezcan los argumentos en tiempo de ejecucion

Publicado por wend (95 intervenciones) el 31/05/2011 00:24:20
En los campos que tienen el dropdowndatawindow con argumentos debes desmarcar la propiedad "Autoretrieve" en la pestaña Edit. En este caso en los campos 'prm_codigo' y 'prd_codigo' ya que los vas a recuperar con argumentos desde código.
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

como hacer que no aparezcan los argumentos en tiempo de ejecucion

Publicado por JeinnerH jhidalgo@excelteccr.com (638 intervenciones) el 27/05/2011 17:53:05
Este problema te sucede, porque los DrowDownDW, no tienen información antes de que hagas el insert en el constructor.

Es posible que te de problemas también si pasas el insert luego de los retrieve de los dropdown, ya que no hay información en un registro nuevo.

Lo que puedes hacer es hacer es refrescar el primer DDDW con todos los paises. Y los otros no se les hace un retrieve, sino un insert de un registro en blanco. Ya luego cuando cambian el país, se hace el retrieve correspondiente de los otros DW.

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