Power Builder - filtrar

 
Vista:

filtrar

Publicado por gil (4 intervenciones) el 29/09/2006 20:41:06
Saludos a todos

Mi problema es el siguiente: tengo un datawindow con los campos provincia, distrito y corregimiento, y tengo un dddw para distrito y otro para corregimiento, cuando elijo una provincia el dddw de distrito solo me debe mostrar los distritos de esta provincia y al elegir el distrito en corregimiento solo debe mandar los pertenecientes al distrito que seleccione, tengo lo siguiente:

en el evento itemchanged:

datawindowchild dwc, dwc_s
string ls_null

accepttext( )
setnull(ls_null)


choose case getcolumnname()
case 'cod_provincia'

setitem(row,'cod_distrito',ls_null)
setitem(row,'cod_corregimiento',ls_null)

getchild('cod_distrito',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(integer(data))

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

case 'cod_distrito'
setitem(row,'cod_corregimiento',ls_null)
getchild('cod_corregimiento',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemNumber(row,'cod_provincia'),integer(data))

end choose

en el evento retrieveend:

datawindowchild dwc

getchild('cod_distrito',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemNumber(getrow(),'cod_provincia'))

getchild('cod_corregimiento',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemNumber(getrow(),'cod_provincia'),getitemNumber(getrow(),'cod_distrito'))

Cuando selecciono la provincia me carga bien los distritos, pero al elegir el distrito me manda un error y no me manda nada en el corregimiento..

Agradeceria que me ayudaran con esto...
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:filtrar

Publicado por Jancarlo (890 intervenciones) el 30/09/2006 16:41:05
Que error te esta arrojando ? Estas referenciando bien el nombre de las columnas ?
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:filtrar

Publicado por gil (4 intervenciones) el 30/09/2006 18:59:11
Esto es lo que me manda:
Select error: SQLSTATE = 01004
[Sybase][ODBC Driver]Data truncated

los nombres de las columnas estan bien
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:filtrar

Publicado por juan manuel bertola (2 intervenciones) el 03/10/2006 22:29:24
Yo en un sistema utilizo los mismo, solo que es Estado->municipio->parroquia.
este el codigo, espero que te sirva.

defines una datawindow tipo child de los municipio y parroquias.

En el evento "Itemchange" creas unas variables de de trabajo dependiendo el tipo de campos definido en tu tabla, acuerdate que la relacion que hay en la tabla de municipio debe ser ESTADO-->MUNICIPIO y luego en la otra tabla de parroquias debe ser ESTADO-->MUNICIPIO-->PARROQUIA

string ls_estado,ls_municipio // en mi tabla los codigos son tipo caracter

CHOOSE CASE dwo.name
CASE "estado" // este es el campo definido en tu dw de trabajo

ls_estado = data // aqui asignamos el estado
dw_x.object.municipio[1] = " " / / aqui limpias el campo de los municipios
lw_municipio.setfilter("estado_mu = '"+ls_estado+"'")
lw_municipio.filter();

CASE "municipio" // este es el campo definido en tu dw de trabajo

ls_estado = dw_x.object.estado[1] // aqui asignamos el estado
ls_municipio = data // aqui asignamos el municipio
dw_x.object.parroquia[1] = " " // aqui limpias el campo de las parroquias
lw_parroquia.setfilter("estado_pa ='"+ls_estado+"' AND municipio_pa
= '"+ls_municipio+"'")
lw_parroquia.filter();


END CHOOSE

nota: los campos "estado_mu", "estado_pa", "municipio_pa" son los campos de las tablas donde vas aplicar el filtro. estas intruciones hace que cuando seleciones un estado automaticamente filtra todos los municipios de ese estado. y cuando selecciona el municipio filtra todas las parroquias que pertenecen al municipio. osea ESTADO-->MUNICIPIO-->PARROQUIA

Saludos
Juan manuel
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