Posicionamiento normal de report


Guest
Buenas tardes,Escribo porque los report que coloco se me están posicionando de forma absoluta en CSS, entonces cuando uno se rellena se "monta" en el otro que tiene debajo.¿Cómo podría hacer para posicionarlos de la forma por defecto sin romper nada?, esto es, "position: static".Saludos,Antonio Ángel

DecSoft

Hola Antonio,

Si no me equivoco, ya me planteó esta misma cuestión por correo, e, incluso le respondí con un ejemplo. ¿No lo recibió Antonio?  ¿O tal vez ahora se refiere a otra cosa? En todo caso le copio abajo la respuesta que le envié a su correo:

Habría que ver a qué tamaño está diseñando su aplicación, y, si está usando la opción "auto escalar".

Si usted diseña su aplicación en el tamaño por defecto (recomendado) sería de 320x360.

Con la opción "auto escalar" de la aplicación, los controles se verán como se esperan tanto en dicho tamaño como en tamaños superiores.

Dicho de otra forma, lo que puede ocurrirle es que esté diseñando la app, digamos que a 800x600. Entonces, los controles aparecerán bien en esa resolución y superiores, pero, no en resoluciones más pequeñas.

Eche un vistazo a este ejemplo modificado con dos Reports:

https://www.decsoftutils.com/emt-malaga/sample-reports.zip

Dicho lo anterior, mediante la acción SetStyle, o bien mediante CSS, o bien mediante Javascript, es posible situar los controles que quiera en la posición en que lo precise.

Sin embargo, esto último no es lo mejor, es decir, lo mejor es diseñar la app en el tamaño recomendado, y usar la opción "auto escalar" de la app.

Después hay otras posibles técnicas, como limitar el tamaño de la app, para que no escale a todo lo largo de la pantalla, si esta es "grande", en el ejemplo Calculator puede verse esto:

https://www.decsoftutils.com/calculator/



Guest

Buenas David,


He probado todo lo que me comentas, pero no he logrado nada...

Simplemente lo que quiero es que los reports tengan el posicionamiento normal de CSS (static), de forma que cuando el report de arriba se llene, empuje al de abajo y no se monte encima de este... Tan simple como eso jejeje


Espero haberme explicado bien :).


DecSoft

Hola Antonio,

¿Ha probado el ejemplo que le he enlazado en mi anterior "post"? Ahí pueden verse cómo dos controles "Report" "no se montan", por decirlo así. ¿No es algo así lo que necesita?



Guest

Efectivamente David, lo probé y no se montaban, pero la cuestión es que esto se logra porque ambos tienen su propio scroll.

Yo lo que quiero es que se alarguen hasta el tamaño que necesiten, y que el scroll sea el de la página en conjunto, no un scroll por cada report.


DecSoft

Hola Antonio,

Puede echar un vistazo al ejemplo "InputsScroll2", a ver si le da una idea. En efecto, es posible añadir controles "más allá" de la altura de nuestra app en el diseñador. Haciendo esto conseguimos que la vista de la app cuente con su propio "scroll", por decirlo así: podemos ver los controles que en diseño estén más allá de la altura de la app.

Dicho lo de arriba (que puedes ver en el ejemplo "InputsScroll2" y aun en otros), la cosa está en determinar el "alto" de los controles Report. Si puedes determinar su alto, o, si quieres darle algún alto en concreto, ya sabes que la acción "SetStyle" te permite hacerlo. Creo que sí que podrías lograrlo, Antonio, haciendo ciertos cálculos.

Primero, cargas los Reports. Después, con la acción "GetStyle" obtienes el alto ("height") de los Reports. Y, después, con "SetStyle" tendrás que situar dichos "Reports" donde correspondan, creo yo, cambiando únicamente su propiedad CSS "top" con la acción "SetStyle". Ya digo, creo que es posible hacerlo, y que, mediante "GetStyle" y "SetStyle", debería poder hacerse.



Guest

Buenas David,

En efecto la solución que implementé en su momento es la que me acabas de proponer, pero precisamente quería lograr lo mismo de una manera más limpia, haciendo caso al sentido común jejej


Pienso que el que los elementos tengan posicionamiento absoluto es una buena idea porque así lo que se ve en el editor es lo que se va a acabar viendo en el dispositivo, pero por otro lado, cuando se trata de una página web, ¿Qué web está hecha a base de posicionamiento absoluto? Es raro encontrar un caso así...

Como sé que lo que pido quizá va en contra de la filosofía del programa, se me ocurre sobrescribir todos los estilos que se aplican a los elementos y tener la página con todos los elementos situados según el curso normal, con posicionamiento estático.


No se me ocurre otra cosa... Gracias por el apoyo :).


DecSoft

Hola Antonio,

Es que, precisamente, por eso le he puesto el texto que también le envié al correo en su momento: cómo posiciona AB los controles tiene que ver con que las aplicaciones puedan escalar como se espera, por ejemplo, además de, como dice, ser de este modo como "funciona" el diseñador.

App Builder no está enfocado a sitios web, sino a aplicaciones, que, pueden parecer lo mismo, pero, no lo son en absoluto. Está en el usuario averiguar si App Builder puede serle útil o si le sería mejor utilizar otra herramienta. Y, si se decide a usar esta herramienta, entonces conviene que siga algunas reglas, como las explicadas arriba en el texto que refiero.

Por otro lado, App Builder está enfocado a ofrecer cierta facilidad de uso, por ejemplo, para personas que no dominen el lenguaje Javascript y que puedan, por lo tanto, simplemente, hacer uso de las acciones "visuales" que le ofrece el programa, además del resto de características, como su integración con Apache Cordova, etc.

Con todo esto, Antonio, no quiero decir que el diseñador y el resultado final no pudieran ser otros, por ejemplo, podría acaso pensarse un diseñador que situara los controles de forma relativa, empero, con esto estaríamos hablando ya de "futuribles", y, no de lo que AB puede ofrecer ahora mismo.



Guest

Buenas tardes David,

Comprendo perfectamente lo que me comentas :).

Al final he logrado resolver el problema dándole otro enfoque: he insertado en AppBuilder un elemento HTML el cual he rellenado dinámicamente con un cliente HTTP con HTML que genero en el servidor. De esa forma dentro de ese marco de HTML logro poner todo el contenido posicionado como yo quiero jeje.

Saludos y buen finde!


DecSoft

Hola Antonio,

Es otra posibilidad. Más "manual" y avanzada, por decirlo así, pero, puesto que nuestras apps se componen de HTML, CSS y Javascript, ciertamente, si dominamos estos, podemos hacer, prácticamente, lo que queramos... y se pueda hacer usando HTML, CSS y Javascript. :-)


Everybody can read the DecSoft support forum for learning purposes, however only DecSoft customers can post new threads. Purchase one or more licenses of some DecSoft products in order to give this and other benefits.

This website uses some useful cookies to store your preferences.

I agree. Hide this note. Give me more information.