Recuperar datos en datawindow child

Tengo un datawindow (equipo) con tres datawindow child (dpto, prov, dist) quienes reciben parámetros, cuando le digo nuevo funciona perfectamente; es decir al seleccionar departamento me carga las provincias y distritos respectivamente; pero cuando quiero editar solo me muestra el departamento y para la provincia y distrito me sale el código más no el nombre, como puedo hacer para solucionar esto.

1 Respuesta

Respuesta
1

Muéstrame una imagen del datawindows para entender mejor la idea

Si deseas mostrar provincia y distrito al recuperar deberías capturar el código de departamento y provincia, para dar los parámetros a tus datawindowschild respectivamente

Cuando le doy a nuevo funciona bien; es decir, carga todos los datos: 

Pero cuando voy a editar viene el problema, solo me muestra el departamento y para el resto los códigos, yo quisiera que me muestre los nombres de la provincia y distrito respectivamente.

Estando así, si selecciono una provincia no me salen los datos es decir sale vacío, pero si selecciono otro departamento, me cargan los datos de las provincias respectivamente, lo mismo sucede con el distrito

Mi datawindow es como sigue

Mi dawindow provincia recibe un argumento codigo del tipo string tal como esta mi tabla y para distrito dos argumentos (coddep y codprov) del mismo tipo uno por departamento y el otro para provincia.

Este es mi codigo del constructor del datawindow

DataWindowChild ldwc
this.GetChild('codigo_depto',ldwc)
ldwc.SetTransObject(SQLCA)
if ldwc.Retrieve()= 0 then
ldwc.InsertRow(0)
end if
// Como no tenemos dpto todavía recuperamos la provincia en vacio
this.GetChild('codigo_prov',ldwc)
ldwc.SetTransObject(SQLCA)
if ldwc.Retrieve(' ')= 0 then
ldwc.InsertRow(0)
end if
// Idem para distrito, este necesita dos argumentos, el departamento y la provincia
this.GetChild('codigo_dist',ldwc)
ldwc.SetTransObject(SQLCA)
if ldwc.Retrieve('','') = 0 then
ldwc.InsertRow(0)
end if

Y este codigo del itemchanged del datawindow

DataWindowChild dwc_provincia, dwc_Distrito
string dpto
Choose case dwo.name
case 'codigo_depto'
this.GetChild("codigo_prov", dwc_provincia)
dwc_provincia.SetTransObject(SQLCA)
dwc_provincia.Retrieve(data)
case 'codigo_prov'
dpto = this.Object.codigo_depto[row]
this.GetChild("codigo_dist", dwc_Distrito)
dwc_Distrito. SetTransObject(SQLCA)
dwc_Distrito. Retrieve(dpto,data)
End choose

Espero haber aclarado tu inquietud y con esto me puedas ayudar.

Cuando recuperes debes agregar al final de tu código

string ls_dep,ls_prov,ls_dis

long n,m

ls_dep=dw_name.Object.codigo_depto[dw_name.getrow()]

ls_prov=dw_name.Object.codigo_prov[dw_name.getrow()]

ls_dis=dw_name.Object.codigo_dist[dw_name.getrow()]

DataWindowChild ldwcdis

DataWindowChild ldwcprov
dw_name.GetChild('codigo_prov',ldwcprov)
ldwcprov.SetTransObject(SQLCA)

ldwcprov.retrieve(ls_dep)

n=ldwcprov.find("codigo_prov='"+ls_prov+"'",1,ldwcprov.rowcount())

ldwcprov.scrolltorow(n)

dw_name.GetChild("codigo_dist", ldwcdis)
ldwcdis.SetTransObject(SQLCA)

ldwcdis.retrieve(ls_dep,ls_prov)

m=ldwcprov.find("codigo_dist='"+ls_dis+"'",1,ldwcdis.rowcount())

Ldwcdis. Scrolltorow(m)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas