Pregunta: | 4779 - PROPIEDADES DEL OBJETO DATAWINDOW |
Autor: | jose juan silva gamiño |
¿Cómo puedo cambiar las propiedades de los objetos que contiene un dataWindow en tiempo de ejecucion sin tener que usar su nombre especifico? ej. dw_1.object.sle_tot.x=2 yo quiero algo como dw_1.object.objeto_generico.x=2 |
Respuesta: | Jordi Gonzalez |
Hola jose, no se cuando publicaste esto, posiblemente ya lo has solucionado, pero te dare una indicación que me fue muy bien en su dia.
En la propiedad modify del dw, se le puede pasar el valor #1, donde 1 es el número de columna a tratar. Esto seria algo así: dw_1.Modify("#1.name") //Nombre de la columna dw_1.Modify("#1.height") //Alto del objeto etc... Así hasta todas las propiedades de un DWO (DataWindowObject) P.D: esta propiedad tambien funciona para el Describe del DW. Salu2"" |
Respuesta: | ricardo hernandez r. HERNADEZ |
Mira es facil con un Modify
Ejemplo tienes 5 objetos con nombre parecido pues se hace algo parecido For li_obj = 1 to 5 Modify("sle_" + String(li_obj) + ".x = 2" ) //* o de esta forma ls_datox = 2 Modify("sle_" + String(li_obj) + ".x =" + ls_datox ) Next Espero te ayude con esto |
Respuesta: | CARLOS MARTIN MERINO |
Hola, creo que con "dw_1.object... " no puedes hacer lo que tu quieres, puesto que tienes que indicar el nombre del objeto que quieres modificar. Para hacer lo que tu quieres, puede utilizar la la función MODIFY. ej. string ls_objeto ls_objeto = "objeto_generico.x=2" dw_1.modify(ls_objeto) Al poder utilizar una variable, puedes hacer cualquier cosa. ej. string ls_objeto string ls_valor = "y" if ls_valor = "y" then ls_objeto = "campo_texto.y = 2" else ls_objeto = "campo_texto.x = 2" end if dw_1.modify(ls_objeto) etc... Espero que te haya servido de ayuda. |