Текст не вмещается в рамки текстового поля

Обсуждение Stimulsoft Reports.NET
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Текст не вмещается в рамки текстового поля

Сообщение Dolgopolov Dmitriy »

Есть ли у текстового поля такое свойство или метод, позволяющий определить, умещается ли набранный текст в рамки этого текстового поля?
Aleksey
Сообщения: 2908
Зарегистрирован: 22 апр 2010, 06:57

Текст не вмещается в рамки текстового поля

Сообщение Aleksey »

Здравствуйте,

Готового варианта решения данной задачи нет. Можно попробовать реализовать это с помощью скриптов.
Уточните пожалуйста более детально вашу задачу.

Спасибо.
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Текст не вмещается в рамки текстового поля

Сообщение Dolgopolov Dmitriy »

Дело в том, что я из кода строю таблицу, исходя из запроса к БД. А таблица у меня строится текстовыми полями с видимыми черными границами. Длина этих текстовых полей заранее определена для каждого столбца. Затем я вставляю в это поле текст, длина которого может быть различна и соответственно может целиком не вмещаться в это текстовое поле. Поэтому мне надо узнать, вошел ли целиком текст, настраивать перенос слов в этом текстовом поле и далее изменять высоту этого текстового поля и других полей находящихся с ним в одной строке.
Aleksey
Сообщения: 2908
Зарегистрирован: 22 апр 2010, 06:57

Текст не вмещается в рамки текстового поля

Сообщение Aleksey »

Здравствуйте,

Если мы правильно поняли вашу задачу, то вы можете сразу для тестовых компонентов включить свойство Word Warp и Grow to Height. В данном случае, все поля по подравняются к самому большому по высоте.

Спасибо.
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Текст не вмещается в рамки текстового поля

Сообщение Dolgopolov Dmitriy »

Не совсем понял, как это работает.
Получается так, что я циклически вывожу Текстовые поля. Т.е. допустим в i-ой "строке" я должен разместить 4 текстовых поля, у всех этих полей должен настроить перенос слов и GrowToHeight.
Новая "строка" вывода текстовых полей имеет координату Y = Yпредыдущей + ВысотаВыровненногоПоВысотеСтолбца.

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

Каким образом нужное поле "понимает" относительно какого поля надо выровняться по высоте?
Aleksey
Сообщения: 2908
Зарегистрирован: 22 апр 2010, 06:57

Текст не вмещается в рамки текстового поля

Сообщение Aleksey »

Здравствуйте,

В данном случае, все текстовые элементы, расположенные на данном контейнере (бэнд, панель и т.д.) будут выравнены по высоте с элементом имеющим максимальную высоту.

Спасибо.
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Текст не вмещается в рамки текстового поля

Сообщение Dolgopolov Dmitriy »

Спасибо! Пробую.

Сначала создаю панель, которая является как-бы строкой таблицы. Добавляю панель на страницу.
Создаю текстовые объекты, настраиваю у них WordWrap и GrowToHeight в True. Добавляю их на панель.
И у меня при этом получается, что текстовые объекты выравнивается по высоте с панелью, а не с объектом, имеющим максимальную высоту в нутри панели.
Выходит так, что мне приходится заранее увеличить высоту панели, чтобы увидеть перенесенные в нувую строку слова в текстовом объекте.:dumb:
Aleksey
Сообщения: 2908
Зарегистрирован: 22 апр 2010, 06:57

Текст не вмещается в рамки текстового поля

Сообщение Aleksey »

Здравствуйте,

Установите для панели свойство Can Grow = true

Спасибо.
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Текст не вмещается в рамки текстового поля

Сообщение Dolgopolov Dmitriy »

Установил, но ничего не изменилось.
Делал так:

// добавляю панель
rect_panel = new RectangleD(0.4, start_h, 18.4, 0.4);
StiPanel p_Attr_Panel = new StiPanel(rect_panel);
p_Attr_Panel.CanGrow = true;
page.Components.Add(p_Attr_Panel);

// добавляю текстовый объект
rect_ = new RectangleD(0.0, 0.0, 3.2, 0.4);
StiText t_Attr = new StiText(rect);
t_Attr.Text = at_name;
t_Attr.WordWrap = true;
t_Attr.GrowToHeight = true;

p_Attr_Panel.Components.Add(t_Attr);

// добавляю еще объект
rect_val = new RectangleD(t_Attr.Right, 0.0, 3.2, 0.4);
StiText t_Attr_Value = new StiText(rect_val);
t_Attr_Value.Text = at_value;
t_Attr_Value.WordWrap = true;
t_Attr_Value.GrowToHeight = true;

p_Attr_Panel.Components.Add(t_Attr_Value);


или может я не в той последовательности это делаю?
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Текст не вмещается в рамки текстового поля

Сообщение Dolgopolov Dmitriy »

Спасибо! Получилось
Ответить