Как выравнить Memo по вертикаль

отредактировано April 2006 Раздел: FastReport Studio
Проблема такая, нужно создать отчет такого вида:
___________________________________________
| N | Name  |  T/N   | a1 |a2 |a3 |a4 |a5 | ...
|   |       |        |----------------------------
|   |       |        | b1 |b2 |b3 |b4 |b5 | ...
----------------------------------------------------

Поля a1-a15,b1-b15 - это текстовые поля из базы, их нужно вывести вертикально и выравнить бэнд по максимальной высоте.

Вопрос: Как это можно реализовать???

Комментарии

  • gpigpi
    отредактировано 20:48
    Для вывода a1-a15,b1-b15 используй вложенный отчёт
  • отредактировано 20:48
    А если я буду использовать вложенный отчет как мне это поможет??? Проблема в том что текст повернутый на 90гр. сам не стрейчится (или тупой). Если поставить галочку авто размер, то у поля изменится только ширина...
  • gpigpi
    отредактировано 20:48
    Если нужно, чтобы текст, повернутый на 90 гр печатался в одну строку, то у мемо нужно выставлять свойство StretchMode=smActualHeight, у бэнда, на котором расположено мемо Stretched=True
  • отредактировано 20:48
    gpi написал:
    Если нужно, чтобы текст, повернутый на 90 гр печатался в одну строку, то у мемо нужно выставлять свойство StretchMode=smActualHeight, у бэнда, на котором расположено мемо Stretched=True
    С этим я разобрался, только мемо упорно не хочет выравниватся как нужно. То одно поле наезжает на другое, то с растоянием между ячейками.

    Ты говорил, что можно использовать вложенный отчет. Вопрос: КАК???
    Добавил в МастерДата СабРепорт, кинул на новую страницу мемо. Вывожу отчет, а данные из СабРепорта не выводятся! В чем проблема???
  • отредактировано 20:48
    Ладно %№#^ с этим вложенным отчет! Другой вопрос как определить какую длинну будет имет текст, т.е. как напрямую, зная текст, подогнать размер мемо под этот текст!??
  • отредактировано 20:48
    Все заработало!!! Дело было в том что я использовал Width и Height. вместо CalcWidth и CalcHeight. Если кому интересно выкладываю код:
    void Memo1OnAfterData(TfrxComponent Sender)
    {
           float w;
           w = TfrxMemoView(Sender).CalcWidth;      
           TfrxMemoView(Sender).AutoWidth = FALSE;
           TfrxMemoView(Sender).Rotation = 270;
           TfrxMemoView(Sender).Height = w;
    }
    
    PS: У МЕМО нужно поставить св-во AutoWidth = TRUE

    Ячейки с таким скриптом будут автоматически подгонятся под размер текста, т.е. это AutoSize для текста расположенного вертикально.

    ВСЕМ ОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ!!!!

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

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