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

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

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

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

Комментарии

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

    Ты говорил, что можно использовать вложенный отчет. Вопрос: КАК???
    Добавил в МастерДата СабРепорт, кинул на новую страницу мемо. Вывожу отчет, а данные из СабРепорта не выводятся! В чем проблема???
  • отредактировано 03:34
    Ладно %№#^ с этим вложенным отчет! Другой вопрос как определить какую длинну будет имет текст, т.е. как напрямую, зная текст, подогнать размер мемо под этот текст!??
  • отредактировано 03:34
    Все заработало!!! Дело было в том что я использовал 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 для текста расположенного вертикально.

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

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