Power Builder - DDDW GRID : pais - dpto

 
Vista:

DDDW GRID : pais - dpto

Publicado por Luis (16 intervenciones) el 01/04/2007 09:32:41
Un saludo cordial, revisando el foro encontre un codigo que sirve para seleccionar pais-dpto-provi (que lo muestro a continuacion), LO PROBE Y RESULTA, ....PERO MI PROBLEMA ES CUANDO LO APLICO EN DW GRID, CUANDO INGRESO DATOS DE ACUERDO A UN MISMO PAIS EN EL DW ME LO PRESENTA RELACIONADO CON EL DPTO: ES DECIR
pais dpto
PERU LIMA
PERU AREQUIPA
PERU TRUJILLO

PERO EL PROBLEMA VIENE CUANDO AGREGO CON OTRO TIPO DE PAIS, LOS DEMAS ITEM INGRESADO SE PRESENTA CON DPTO DE OTRO PAIS.. SOLO SE PRESENTA EN PANTALLA XQ EN BD SI ME GUARDA, COMO PUEDO MEJORA DICHA PRESENTACION EN DW GRID

GRACIAS


/*----------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------------*/
dddw_pais (Sin Argumentos)
dddw_dpto (cod_pais)
dddw_provi (cod_pais,cod_dpto)
dddw_dist (cod_pais,cod_dpto,cod_provi)

Primero programas en el evento retrieveend del dw donde se encuentran tus dddw.

//Esto es para recuperar los datos segun los guardaste.

datawindowchild dwc

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

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

//segundo filtramos las provincias
getchild('cod_provi',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'cod_pais'),getitemstring(getrow(),'cod_dpto'))

//Por último filtramos los distritos
getchild('cod_dist',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'cod_pais'),getitemstring(getrow(),'cod_dpto'),getitemstring(getrow(),'cod_provi'))

Luego hay q programar en el evento itemChanged de tu dw

datawindowchild dwc
string ls_null

setnull(ls_null)

if not row>0 then return

accepttext( )

choose case this.getcolumnname()
case 'cod_pais'
setitem(row,'cod_dpto',ls_null)
setitem(row,'cod_provi',ls_null)
setitem(row,'cod_dist',ls_null)

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

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

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

case 'cod_dpto'
setitem(row,'cod_provi',ls_null)
setitem(row,'cod_dist',ls_null)

getchild('cod_provi',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(row,'cod_pais'),data)

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

case 'cod_provi'
setitem(row,'cod_dist',ls_null)

getchild('cod_dist',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(row,'cod_pais'),getitemstring(row,'cod_dpto'),data)
end choose
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
sin imagen de perfil

RE:DDDW GRID : pais - dpto

Publicado por L.Barzi (133 intervenciones) el 02/04/2007 23:09:27
Hola, te dejo este post:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=333070&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Donde el amigo Jancarlo, me ayuda con DDDW

Saludos

Jorge Barzola Rosadio
[Lima - Perú]
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