Динамический отчет

отредактировано 05:16 Раздел: FastReport .NET
Здравствуйте.
1. Делаю динамический отчет из кода программы (в том и динамика), никаких матриц и прочей. Вопрос, как вставить поле итогов в хедер группы, а не в подвал ее используя код программы. Динамических полей будет много: от 24 и выше. Поэтому заводить массив элементов в коде отчета не предлагать)
2. Как посчитать из кода отчета длинну строки максимально помещающаяся в поле использя шприфт и размер шрифта. То есть я представляю себе это как подсчет средней длины символа и помноженное на их количество. Есть ли такая возможность в отчетах? делает это для того, чтобы не растягивать поля вниз и вправо, а ограничить выводимую строку до последнего пробела.

Заранее спс.

Комментарии

  • отредактировано 05:16
    Здравствуйте,

    1) ждать новую версию с поддержкой итогов в хидерах. Будет завтра-послезавтра.
    2) гм. Установите св-ва у объекта "Текст" - WordWrap = false, Trimming = Word. Текст в объекте будет обрезаться по словам. Если это не подходит - используйте Graphics, его метод MeasureString.
  • отредактировано 05:16
    Спс, жду. Думал в отчетах нет Graphics)
  • отредактировано 05:16
    Его и нет. Для измерения надо создавать битмап, потом из него Graphics. Как-то так:
        public static SizeF MeasureString(string text, Font font)
        {
          using (Bitmap bmp = new Bitmap(1, 1))
          using (StringFormat sf = new StringFormat())
          {
            Graphics g = Graphics.FromImage(bmp);
            return MeasureString(g, text, font, sf);
          }
        }
    

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.