Jamal Seyedi Ответов: 3

оправдать в пункте отчетами


Всем привет
Мне нужно оправдать абзац, как это делает Microsoft Word.
Параметры Word Justfy являются: оправдывать, оправдать низкий, средний оправдать, оправдать высокое
Я нашел TextAlign в RDLC, но это не решает мою проблему.
любое предложение будет оценено по достоинству.

С Уважением Джамал

3 Ответов

Рейтинг:
1

thatraja

AFAIK нет никакой возможности для этого в RDLC.
Попробуйте эту альтернативу
Службы SQL Reporting Services выравнивают текст в текстовом поле[^]


Рейтинг:
0

p_karthik_p

Привет,

Это недоступно в службах reporting services. Есть только лево, центр и право.

По умолчанию и вообще ничего не делайте..

Мы ничего не можем сделать.. Если возможно, дайте мне знать..
Спасибо,


Jamal Seyedi

спасибо, что ответили.
До сих пор я ничего не нашел.
Но мне действительно нужно это сделать,я ищу способ смоделировать это.

Рейтинг:
0

Marcelo Lujan

Я просто создаю функцию, которая возвращает список строк, но вы должны использовать моноширинный шрифт, например "курьер".

        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;
        }

</string></string></string></string></string>


Надеюсь, это поможет!


Dave Kreskowiak

Не бросайте ответы на вопросы пятилетней давности.