AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.10.2003, 12:52   #1  
Atani is offline
Atani
Участник
 
77 / 15 (1) ++
Регистрация: 25.07.2003
Адрес: г. Королёв М.О.
Вычисление высоты строки в отчёте диначически при заданной ширине
Здравствуйте1
Эта тема ранее обсуждалась, например, см. http://www.axforum.info/forums/showt...=6757#post6757

Применил
PHP код:
int NewChar
newHeightChar   
itemNameControl.widthOfString100mm(itemName) / itemNameControl.width100mm() + 1;
itemNameControl.height(newHeightCharUnits::CHAR); 
и столкнулся со следующей проблемой.
Берём строку, например, " 455-00746Бу345а (2132ыв4апавпяывфыв) 50х4ыва123456к6606мм".
Расчёт приведённым методом показывает, что требуется 2 строки.
Но при печати отчёта длинное слово в скобках переносится на другую строку и для оставшейся части слова не хватает места.
Вопрос: как всё-таки рассчитать правильно или хотя ы как отключить перенос целого слова на другую строку
Старый 02.10.2003, 14:33   #2  
puz is offline
puz
Участник
 
37 / 11 (1) +
Регистрация: 01.09.2003
Адрес: Новосибирск
Мне, вроде, помогал метод ReportTextControl.heightOfWordWrappedString100mm(), который как раз и вычисляет высоту строки, втиснутой в control фиксированной ширины, причем ему все равно, как строка разбита на слова.

Вы не пробовали, или я неправильно понял проблему?
Старый 04.10.2003, 15:09   #3  
Atani is offline
Atani
Участник
 
77 / 15 (1) ++
Регистрация: 25.07.2003
Адрес: г. Королёв М.О.
Спасибо, это - то, что надо!

Ещё маленький вопросик по следам событий: могу я как-то задать свойство текста Wrap / UnWrap ?

Сергей
Старый 06.10.2003, 09:22   #4  
puz is offline
puz
Участник
 
37 / 11 (1) +
Регистрация: 01.09.2003
Адрес: Новосибирск
Во-первых, прошу прощения, я погорячился по поводу "причем ему все равно, как строка разбита на слова". На самом деле метод, вычисляя высоту Conrolа предполагает, что каждое слово начинается с новой строки. Так что если бы и была возможность задать свовйство в духе Wrap / UnWrap, то упомянутый метод давал бы неверный результат.

По-моему, такое свойство никак не задать (иначе, мне кажется, был бы аналог ReportTextControl.heightOfWordWrappedString100mm() для umwrapped строки).
Однако, можно программно разбивать строку на равные по ширине части (правда могут быть проблемы с немоноширинными шрифтами {на крайний случай здесь можно вывернуться с помощью того же ReportTextControl.widthOfString100mm() для проверки ширины кусков} ) и с помощью ReportSection.addTextControl() наделать Controlов одинаковой ширины и с высотой, равной высоте одной строки. Ну и расположить их друг на другом.

P.S. Лично мне такой подход кажется слишком уж извратным.
Может кто-нибудь подскажет более изящный способ "ручного" разбиения на стороки равной ширины.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Цветные строки в Grid Sergo DAX: База знаний и проекты 14 19.04.2012 10:02
Вычисление размеров секций в отчете Андрей К. DAX: Программирование 11 14.05.2007 12:09
При создании строки в закупке статус строки становится "Отменено" AlexUnik DAX: Функционал 4 27.09.2004 16:05
Повторяющиеся строки в отчете... MIkeFW DAX: Программирование 3 05.09.2003 10:23
Как убить лишние строки в отчете по распределению доходов? mad_pilot DAX: Программирование 1 25.10.2002 12:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:51.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.