Comprender el desafío de los saltos de línea en las etiquetas de OneStream
El otro día estaba realizando una tarea muy rutinaria, agregando y dando formato a un componente Label en un dashboard. El componente Label contenía una línea de texto que debía ajustarse en 2 líneas. “No es gran cosa”, está pensando, existe una configuración de formato de visualización, UseTextWrapping, que hará esto por usted, simplemente establézcala en True.
Sí, eso funciona. Sin embargo, ¿qué pasa si quiere especificar dónde cortar la línea de texto? Aquí está el detalle: no puede, pero espere un momento y le mostraré una forma de lograrlo.
OneStream divide dinámicamente la línea de texto en la Label según el tamaño del componente Label.
Por ejemplo, tengo un componente Label configurado en la captura de pantalla a continuación. La línea de texto es más larga que el ancho del componente Label.
OneStream divide la línea de texto después de la letra “a”.
Sin embargo, si quisiera dividir la línea en un lugar diferente, no puede hacerlo desde las propiedades del formato de visualización.
Guía paso a paso para implementar un salto de línea
Puede hacer esto utilizando reglas de negocio y un enfoque basado en parámetros.
1. Cree un parámetro y coloque el parámetro en el cuadro de propiedades de texto del componente Label.
2. A continuación, debe crear una regla de negocio que complete el valor del parámetro. Para fines de demostración, estoy usando un componente Button que ejecuta un dashboard extender.
3. Para fines de demostración, tengo un dashboard simple con un botón y un componente Label en él.
Al ejecutarlo, verá lo siguiente. La etiqueta aún no es visible porque el parámetro literal que contiene el valor del texto todavía no se ha completado.
4. A continuación, cree el Dashboard Extender que ejecutará el botón. En este punto es donde se agregará el salto de línea al texto que mostrará la Label usando un parámetro. En su Dashboard Extender cree una variable String para contener su línea de texto para la Label. Sin embargo, donde quiera un salto de línea, concatene en la cadena una constante de Visual Basic para retorno de carro, vbCr.
Dim strLabelText As String = "Hello this is a bunch of text to" & vbCr & "illustrate a point about text wrapping"
5. Luego escriba esa cadena en su parámetro literal.
brapi.Dashboard.Parameters.SetLiteralParameterValue(si,False,args.PrimaryDashboard.WorkspaceID,"Default.p_LabelLineBreak",strLabelText
La función completa se muestra a continuación.
Public Function GetLabelText(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardExtenderArgs) As Object
Try
Dim strLabelText As String = "Hello this is a bunch of text to" & vbCr & "illustrate a point about text wrapping"
brapi.Dashboard.Parameters.SetLiteralParameterValue(si,False,args.PrimaryDashboard.WorkspaceID,"Default.p_LabelLineBreak",strLabelText)
Return Nothing
Catch ex As Exception
Throw ErroHandler.LogWrite(si, New XFException (si, ex))
End Try
End Function
El parámetro literal, una vez que se llame la regla de negocio, contendrá su línea de texto con un salto en el lugar que haya especificado.
Aquí está el ejemplo con la regla de negocio ejecutada, observe el salto de línea.
Además, si no está completando el parámetro desde código, aún puede hacer que esto funcione.
Método alternativo: agregar saltos de línea sin código
Paso 1. Abra un editor de texto como Word o Notepad++, escriba su línea de texto para la etiqueta e introduzca un retorno de carro donde quiera que el texto se divida.
Paso 2. Copie y pegue ambas filas.
Paso 3. En OneStream, seleccione su parámetro y los tres puntos suspensivos en la propiedad Default Value. Luego pegue el texto copiado desde su editor de texto en la ventana emergente que aparece.
Ahora, cuando ejecute su dashboard, tendrá un salto de línea donde lo desee, sin necesidad de una regla de negocio para lograrlo.
Contacto
MindStream Analytics
¿Quiere obtener más información sobre OneStream Software? Los consultores de MindStream Analytics están aquí para ayudarle a llevar sus consolidaciones e informes al siguiente nivel.
