none
Justificar texto en report viewer RDLC RRS feed

Respuestas

  • Hola Rodrigo Rodriguez G

    De acuerdo a tu consulta, te recomiendo implementar el siguiente código ejemplo que puede serte útil con lo referente a tu consulta.

         public static List<string> GetText(string text, int width)
            {
                string[] palabras = text.Split(' ');
                StringBuilder sb1 = new StringBuilder();
                StringBuilder sb2 = new StringBuilder();
                int length = palabras.Length;
                List<string> resultado = new List<string>();
                for (int i = 0; i < length; i++)
                {
                    sb1.AppendFormat("{0} ", palabras[i]);
                    if (sb1.ToString().Length > width)
                    {
                        resultado.Add(sb2.ToString());
                        sb1 = new StringBuilder();
                        sb2 = new StringBuilder();
                        i--;
                    }
                    else
                    {
                        sb2.AppendFormat("{0} ", palabras[i]);
                    }
                }
                resultado.Add(sb2.ToString());

                List<string> resultado2 = new List<string>();
                string temp;

                int index1, index2, salto;
                string target;
                int limite = resultado.Count;
                foreach (var item in resultado)
                {
                    target = " ";
                    temp = item.ToString().Trim();
                    index1 = 0; index2 = 0; salto = 2;

                    if (limite <= 1)
                    {
                        resultado2.Add(temp);
                        break;
                    }
                    while (temp.Length <= width)
                    {
                        if (temp.IndexOf(target, index2) < 0)
                        {
                            index1 = 0; index2 = 0;
                            target = target + " ";
                            salto++;
                        }
                        index1 = temp.IndexOf(target, index2);
                        temp = temp.Insert(temp.IndexOf(target, index2), " ");
                        index2 = index1 + salto;

                    }
                    limite--;
                    resultado2.Add(temp);
                }
                return resultado2;
            }

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 15 de enero de 2018 23:33
    Moderador

Todas las respuestas

  • Hola Rodrigo Rodriguez G

    De acuerdo a tu consulta, te recomiendo implementar el siguiente código ejemplo que puede serte útil con lo referente a tu consulta.

         public static List<string> GetText(string text, int width)
            {
                string[] palabras = text.Split(' ');
                StringBuilder sb1 = new StringBuilder();
                StringBuilder sb2 = new StringBuilder();
                int length = palabras.Length;
                List<string> resultado = new List<string>();
                for (int i = 0; i < length; i++)
                {
                    sb1.AppendFormat("{0} ", palabras[i]);
                    if (sb1.ToString().Length > width)
                    {
                        resultado.Add(sb2.ToString());
                        sb1 = new StringBuilder();
                        sb2 = new StringBuilder();
                        i--;
                    }
                    else
                    {
                        sb2.AppendFormat("{0} ", palabras[i]);
                    }
                }
                resultado.Add(sb2.ToString());

                List<string> resultado2 = new List<string>();
                string temp;

                int index1, index2, salto;
                string target;
                int limite = resultado.Count;
                foreach (var item in resultado)
                {
                    target = " ";
                    temp = item.ToString().Trim();
                    index1 = 0; index2 = 0; salto = 2;

                    if (limite <= 1)
                    {
                        resultado2.Add(temp);
                        break;
                    }
                    while (temp.Length <= width)
                    {
                        if (temp.IndexOf(target, index2) < 0)
                        {
                            index1 = 0; index2 = 0;
                            target = target + " ";
                            salto++;
                        }
                        index1 = temp.IndexOf(target, index2);
                        temp = temp.Insert(temp.IndexOf(target, index2), " ");
                        index2 = index1 + salto;

                    }
                    limite--;
                    resultado2.Add(temp);
                }
                return resultado2;
            }

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 15 de enero de 2018 23:33
    Moderador
  • Bom dia, como eu poderia aplicar essa solução em meu caso?Poderia ajudar por favor?

    Estou usando windows form e reportviewer

    grato

    miércoles, 7 de octubre de 2020 11:37
  • Hola ¿Me podéis envíar el .rdl de ejemplo? Muchas gracias!
    miércoles, 2 de diciembre de 2020 7:33
  • boa tarde

    Pode me passar seu e-mail para que eu possa enviar o arquivo?

    grato

    Eliziario Emerson

    domingo, 27 de diciembre de 2020 17:05