Power Builder - Visulaizacion

 
Vista:

Visulaizacion

Publicado por yanina (3 intervenciones) el 05/10/2006 23:16:18
Hola espero contar con tu ayuda para solucionar mi problema y disculpas por las molestias.
Utilizo:
Anywhere 7.0
Power Builder 9.0

Mi formulario siguiente es donde se insertan los nombres de los fundos seleccionando previamente el nombre del proveedor además de ingresar la ubicación (zona, departamento, provincia, distrito), en el ingreso no tengo problemas ya que cuando selecciono una zona el campo departamento se me muestran solo los departamentos que pertenecen a esa zona y de igual para la provincia y el distrito.

Mi problema se presenta cuando yo quiero por ejemplo modificar el nombre de un fundo o la dirección y esto lo hago haciendo doubleclicked en un fundo en el DW_2 y se me muestra el contenido de este fundo en el DW_1 esto es normal la data se me muestra correcta en le DW_1 solo que en los campos Zona, departamento, provincia y distrito se me muestran los códigos en lugar de devolverme los nombres de los departamentos, provincias y distritos; esto como veras no es bueno a los ojos, aunque cuando guardo la modificación guarda normal los cambios, no hay problema pero como te dije no es bueno a para la vista que se muestren los códigos ya que puede traer confusión y este problema varia algunas veces por ejemplo solo se muestran códigos en los campos zona departamento, provincia y distrito y otras recupera el dato del departamento y los demás códigos o solo recupera la provincia y los demás campos con códigos .


Utilizo las siguientes instrucciones

Open de la ventana
datawindowchild dwc
dw_1.settransobject(sqlca)
//primero filtramos los departamentos
dw_1.getchild('cod_depart',dwc)
dwc.settransobject(sqlca)
dwc.insertrow(0)
//segundo filtramos las provincias
dw_1.getchild('cod_provin_basic',dwc)
dwc.settransobject(sqlca)
dwc.insertrow(0)

//Por último filtramos los distritos
dw_1.getchild('cod_distri_basic',dwc)
dwc.settransobject(sqlca)
dwc.insertrow(0)

dw_1.retrieve()

dw_2.settransobject(sqlca)
dw_2.retrieve()

Retrieveend del DW_1

datawindowchild dwc

if not rowcount >0 then return //Retornamos en caso q no haya filas

//primero filtramos los departamentos
getchild('cod_depa',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'cod_zona'))

//segundo filtramos las provincias
getchild('cod_prov',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'cod_zona'),getitemstring(getrow(),'cod_depart'))

//Por último filtramos los distritos
getchild('cod_dist',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'cod_zona'),getitemstring(getrow(),'cod_depart'),getitemstring(getrow(),'cod_provin_basic'))

Itenchanged del DW_1

datawindowchild dwc
string ls_null

setnull(ls_null)

if not row>0 then return

accepttext()

choose case this.getcolumnname()
case 'cod_zona'
setitem(row,'cod_depart',ls_null)
setitem(row,'cod_provin_basic',ls_null)
setitem(row,'cod_distri_basic',ls_null)

getchild('cod_depart',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(data)

getchild('cod_provin_basic',dwc)
dwc.settransobject(sqlca)
dwc.reset()

getchild('cod_distri_basic',dwc)
dwc.settransobject(sqlca)
dwc.reset()

case 'cod_depart'
setitem(row,'cod_provin_basic',ls_null)
setitem(row,'cod_distri_basic',ls_null)

getchild('cod_provin_basic',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(row,'cod_zona'),data)

getchild('cod_distri_basic',dwc)
dwc.settransobject(sqlca)
dwc.reset()

case 'cod_provin_basic'
setitem(row,'cod_distri_basic',ls_null)

getchild('cod_distri_basic',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(row,'cod_zona'),getitemstring(row,'cod_depart'),data)

end choose

Instance Variables
datawindowchild dwc_zona
datawindowchild dwc_depa
datawindowchild dwc_prov
datawindowchild dwc_dist

Doubleclicked del DW_2

integer numero, regis_selec

regis_selec= dw_2.GetClicKedRow()
dw_1.enabled=true
dw_1.SetTransObject(SQLCA)
dw_1.retrieve()

numero=dw_2.getrow()
dw_1.scrolltorow(numero)

dw_1.setcolumn(3)
dw_1.setfocus()

Argumentos
Argumento para departamento
cod_zona string
Argumento para provincia
cod_zona string
cod_depa string
Argumento para distrito
cod_zona string
cod_depa string
cod_prov string

Agradeciéndote de antemano su ayuda prestada me despido.

Se agradece…
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:Visulaizacion

Publicado por Edgar (57 intervenciones) el 07/10/2006 17:46:09
por lo q veo tu codigo esta bien, solo tienes q darle o agregarle esta validacion, mira, dices q cuando seleccionas un fundo de tu dw2 se muestra en tu dw1, verdad?

bueno lo q debes de hacer es cuando seleccionas tu fundo en tu dw2. capturar el codigo de departemanto de, con ello lista las provincias para tu dw1, al mismo tiempo capturas la provincia de tu dw2 y listas el distrito en tu dw1

espero haberte ayudado con ello, yo tambien he echo eso y con la logica q te acabo de explicar no me mostraron los codigos si no los nombres de los dep, porv y dist

saludos desde Lima Peru
Edgar
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:Visulaizacion

Publicado por yanina (3 intervenciones) el 09/10/2006 19:14:19
Hola Edgar me gustaría que me explicaras mejor como puede hacer para capturar el código del departamento y luego listar las provincias.
Saludos y gracias...
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