Power Builder - presentacion DW

 
Vista:

presentacion DW

Publicado por Manu (27 intervenciones) el 01/07/2005 04:00:41
Hola, tengo una duda, quiero que en la presentacion de un dw FreeForm me salgan por ejemplo los campos Nombre y apellidos, y que la separacion entre ellos sea proporcional a la longitud del texto del campo. Estoy intentando cambiar el eje X de las propiedades Position dependiendo del tamaño del campo anterior usando LEN, pero el problema es que la funciona LEN en el dw no funciona, no modifica la posicion X del campo, alguien me puede ayudar? Gracias por adelantado
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:presentacion DW

Publicado por Oscar (1178 intervenciones) el 01/07/2005 05:48:40
Para que cambie proporcionalmente el ancho del campo según el texto que contiene, puedes colocar el siguiente script en el evento RowFocusChanged de tu objeto DW:

String ls_Nombre
Integer li_longitud

//Obtenemos el nombre
ls_nombre = dw_1.GetItemString(dw_1.GetRow(), "nombre")

//Calculamos la cantidad de caracteres del nombre
li_longitud=LEN(ls_nombre)

//Modificamos el ancho. Por cada caracter, se ampliará el eje x en 36 unidades.
dw_1.Object.nombre.Width = li_longitud*36

//---------------Fin---------------------------
Nota: Ese sería el script de acuerdo a lo que pides en tu post. Funciona de manera aceptable con una fuente System y otras fuentes más con un tamaño de 9 ó 10. Se obtienen resultados exactos, si utilizas Courier (todo el mundo sabe, que el ancho de todas las letras es igual); sino, ya me imagino lo que podrías obtener si alguien se llama: "lili" (todas las letras son delgadas) y otro se llama: memo (más ancho).
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