Power Builder - DDDW

 
Vista:

DDDW

Publicado por Miguel Angel (12 intervenciones) el 30/03/2006 09:45:42
Hola a todos, mi problema es el siguiente: he migrado de PowerBuilder 6.5 a PowerBuilder 10 (gran salto lo se jejeje) pero la cuestión es que en PW6.5 tenia una dw con un campo de tipo long en el que yo metia una dddw en función de un valor y en tiempo de ejecución cambiaba esta dddw, es decir, si el usuario cambiaba el valor de una columna la dddw cambiaba automáticamente. El código que tenía en la versión 6.5 es el siguiente (evento ItemFocusChanged):

//Variables
String Tipo_vehiculo

If (row>0) then
tipo_vehiculo=This.GetItemString(row,"tpvh")
Choose case tipo_vehiculo
case "T"
This.Modify("codtip.dddw.PercentWidth=430")
This.Modify("codtip.dddw.ShowList=No")
This.Modify("codtip.dddw.Datacolumn='codtrac'")
This.Modify("codtip.dddw.Displaycolumn='codtrac'")
This.Modify("codtip.dddw.Name='dwl_tract'")
case "R"
This.Modify("codtip.dddw.PercentWidth=370")
This.Modify("codtip.dddw.ShowList=No")
This.Modify("codtip.dddw.Datacolumn='codsemi'")
This.Modify("codtip.dddw.Displaycolumn='codsemi'")
This.Modify("codtip.dddw.Name='dwl_semi'")
End Choose
End if

La cuestión es que ahora este código no me funciona, me sale un error que dice: "DataWindow Error" "Expression is not valid", he cambiado el código a este (en el mismo evento):

DataWindowChild dwc

If (dwo.Name='codtip') then
If (row>0) then
tipo_vehiculo=This.GetItemString(row,"tpvh")
If (tipo_vehiculo='T') then
This.Object.codtip.dddw.Name='dwl_tract'
This.Object.codtip.dddw.DataColumn='codtrac'
This.Object.codtip.dddw.DisplayColumn='codtrac'
else
This.Object.codtip.dddw.Name='dwl_semi'
This.Object.codtip.dddw.DataColumn='codsemi'
This.Object.codtip.dddw.DisplayColumn='codsemi'
end if
This.GetChild('codtip',dwc)
dwc.SetTransObject(SQLCA)
dwc.Retrieve()
end if
end if

pero sigue sin fucionar, me sale el mismo error, aunque lo curioso es que después de darle a aceptar cuando me sale el error, si me cambia la dddw pero el fastidio es que siempre sale la dichosa ventanita con el DataWindow Error Expression is not valid.

Me parece que el error lo da cuando cambia de dddw porque si la fila tiene el mismo valor en la columna tipo y por tanto no tiene que cambiar el dddw no hace nada, ahora el error viene cuando cambia la dddw. Otra cosa la columan que contiene la dddw es de tipo long y los datacolumn de cada dddw tambien son de tipo long.

Ya no sé que hacer para solucionar esto, espero me puedan echar una mano porque el tema se está alargando demasiado.

Gracias a todos, Miguel Ángel.
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:DDDW

Publicado por Asgard (1957 intervenciones) el 30/03/2006 23:32:46
Sigue el procedimiento por medio del debug para que veas donde exactamente se dispara el mensaje de error.
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:DDDW

Publicado por Miguel Angel (20 intervenciones) el 31/03/2006 08:35:19
Creo que lo dije en el post inicial. El error me da cuando se ejecuta la instruccion de cambio de dddw osea:

This.Object.codtip.dddw.Name='dwl_tract'

Ya no se me ocurre que hacer.
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