una preguntita!!!
Publicado por Giselle (32 intervenciones) el 13/06/2006 19:04:21
Hola estuve biendo un ejemplo que soluciono Jancarlo acerca del dropdown, el ejemplo es el siguientE (MIRA DONDE DICE DONDE DECLARO ESTO....)
Primero q nada tu 4 dddw tienen q tener los siguientes argumentos (DONDE DECLARO ESTO)
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
Primero q nada tu 4 dddw tienen q tener los siguientes argumentos (DONDE DECLARO ESTO)
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


0