Propiedad multilineas cuerpo en rejilla


([N1] vgegeo) #1

Buenos dias,

¿Es funcional la propiedad Multilineas cuerpo en una columna de rejilla?
Tengo un campo objeto texto en una rejilla al que quiero dar una altura variable, y no me funciona.

Segun la ayuda:

Multilíneas cuerpo: Esta propiedad permite que el texto contenido en cada celda de la columna se muestre en varias líneas. Un control multilíneas deberá tener un alineamiento horizontal a la Izquierda y un alineamiento vertical Superior.

-He probado estos alineamientos
-He quitado el CSS

Y nada, no consigo mostrar en multilineas.
¿Alguna idea?


([N4] victorgt) #2

Las celdas de la rejilla hacen cosas raras cuando usas Multilinea pero hay mucha desproporcion entre el tamaño de la celda y el del texto que contiene. Lo que quero decir es que divide las lineas “a su manera”.

Prueba a agrandar la celda en tiempo de ejecución, o a disminuir el texto. Por arte de magia a veces lo hace bien (cuando la celda es grande) o lo hace mal (cuando la celda es pequeña).

Al menos a mi me pasa con la rejilla normal y perdi bastante tiempo hasta darme cuenta que eran cosas de la rejilla.

Ah, y lo de altura variable olvidate. Debes poner tu una altura de fila suficiente para ver mas de una linea.
Y por cierto, juraria que los alineaminentos si funcionan.

Saludos.


([N1] vgegeo) #3

Gracias victorgt

No me he dado cuenta en decir que hablaba de una rejilla normal.

-En ejecucion no tiene en cuenta la propiedad.
-Evidentemente si lo hace el usuario, se puede estirar la fila para poder leer la celda en todos sus lineas, pero interviniendo el usuario, que yo se lo queria dar hecho.
-Los alineamientos si funcionan. Este aspecto lo comentaba porque segun la informacion de la ayuda, para esa propiedad hay que poner esos alineamientos, que una vez probado, te confirmo que los alineamientos funcionan correctamente, pero no la propiedad de Multilinea.

-He probado a poner todas las columnas con Multilinea cuerpo Verdadero, pero tampoco funciona.

En conclusion, la solucion es la que apuntas, poner una altura suficiente para las lineas que pretendemos mostrar.

Gracias


([N1] vgegeo) #4

Soporte confirma que hay que establecer un alto mayor para la fila, comun para todas ellas:

La propiedad múltilineas efectivamente hace que en la fila de la rejilla se muestren diversas líneas. Pero el alto de las filas es fijo, por lo que no aumentará o disminuirá su alto en función del contenido. Solo mostrará el máximo contenido visible en el alto disponible.

Tendrá que establecer un mayor alto en las líneas de la rejilla y será común para todos las líneas de la rejilla.

Saludos


([N2] Esfero) #5

A través de javascript puedes forzar el cambio de tamaño utilizando el siguiente método:

theRoot.dataView().control(“NOMBRE_CONTROL”).resizeRowsToContents();

tienes que ejecutarlo después de cambiar el contenido, no se hace de forma automática.

Funciona bien se redimensiona correctamente y se ve siempre todo el contenido. El único inconveniente que encontré es que no respeta los margenes establecidos en la CSS, por el resto lo hace perfecto.


([N1] vgegeo) #6

Gracias Esfero

Lo probare, aunque de momento ya he dejado modificado el alto de fila.
No es una rejilla editable, por lo que no se si encajara el ejecutarlo al cambiar de contenido.

En cualquier caso, te lo agradezco :wink:


([N3] pacosatu) #7

Hola.

En este y muchos otros aspectos de los controles de Velneo, creo que estamos bajo la aplastante dictadura de QT o en el deficiente aprovechamiento de sus posibilidades. No puedo opinar si es una limitación técnica o de otra índole, pero a veces echo una ojeada a una clase nativa de QT (léase C++) y compruebo que dispone de mucha más funcionalidad de la que disponemos desde la ventana de propiedades de vDevelop o desde el API. En otras ocasiones, es cierto que si la clase original de QT no dispone de cierta propiedad, tampoco la tendremos en Velneo.

Hace poco, sufrí otro chasco con la dichosa poca funcionalidad gráfica de los controles de Velneo.

Tenía una Rejilla en la que mostraba una columna con Texto enriquecido desde un campo de tipo Objeto. El usuario estaba encantado pues veía claramente remarcado el texto con negritas, cursiva, colores, …
En un momento dado esa columna debía personalizarse de tal manera que según el valor de otro campo mostrara un valor u otro.
Así que la fórmula de la columna pasó de valer (#CAMPO_HTML) a (choose(#VALOR, #CAMPO_HTML, #CAMPO_OTRO_HTML).
El resultado, un fiasco, la columna ha dejado de mostrar el texto enriquecido y aparece el texto en bruto.

¿De quién es la culpa? de QT que solo es capaz de mostrar texto enriquecido directamente de un campo de tipo Objeto o de la incompleta implementación de Velneo que hace que todo lo que devuelve la fórmula es texto plano ignorando su tipo.
Esta bien que para editar una columna podamos escoger el control de edición, pero también deberíamos escoger el control de visualización independientemente de si el contenido proviene de un campo o de una fórmula, tal como ocurre en los formularios.

En fin, la Rejilla versión 1.0 necesita una 2.0 urgentemente.

Saludos
Paco Satué


([N2] overBCN) #8

Totalmente de acuerdo en mejorar, y mucho, la rejilla que tenemos actualmente.
Alguien utiliza la rejilla avanzada?
Saludos