Таблица

отредактировано 06:27 Раздел: FastReport 4.0
Здравствуйте!

Создаю таблицу, в которой 4 строки. Каждая ячейка содержит 1 набор данных и имеет контур вокруг.
Так получается, что таблица у меня как бы "резиновая" и если, допустим, в первой строке данные не помещаются в одну из ячеек, то ячейка растягивается по высоте. Текущая ячейка растягивается по высоте как нужно, но вот ячейки в этой же строке не растягиваются по высоте и получается каша. Посмотрите рисунок.

Как сделать так, чтобы в случае если например 1-я ячейка 1-й строки была растянута по высоте, то и все остальные ячейки 1-й строки будут иметь такую же высоту. Может как-то связать высоту всех ячеек одной строки?!

Комментарии

  • gpigpi
    отредактировано 06:27
    Установите TfrxMemoView.StretchMode в smMaxHeight
  • отредактировано 06:27
    gpi написал: »
    Установите TfrxMemoView.StretchMode в smMaxHeight


    У какого именно? У меня каждая ячейка это TfrxMemoView. Устанавливал и у всех и у тех, которые в первой строке. Изменений нет.
  • отредактировано August 2010
    Я мог бы использовать ChildBand, да вот проблема из-за того, что таблица у меня имеет не только эти ячейки.
    Рисунок всей таблицы прикрепил.

    Каждая цифра - это ячейка TfrxMemoView.
    Поэтому возникла и вся эта сложность с высотой строк. А мне всего лишь нужно сделать так как в Excel. Если изменяется высота одной ячейки, то все соседние ячейки этой строки также изменяют свою высоту.
  • gpigpi
    отредактировано 06:27
    Прикрепите шаблон отчёта (fr3)
  • отредактировано 06:27
    Прикрепил.
  • gpigpi
    отредактировано 06:27
    Перенесите все мемо, кроме DMemox1, DMemoX22, DMemoX3 во вложенный отчёт, во вложенном отчёте мемо расположите на одном мастербенде и трёх дочерних. Свойство вложенного отчёта PrintOnParent установите в True
  • отредактировано August 2010
    gpi написал: »
    Перенесите все мемо, кроме DMemox1, DMemoX22, DMemoX3 во вложенный отчёт, во вложенном отчёте мемо расположите на одном мастербенде и трёх дочерних. Свойство вложенного отчёта PrintOnParent установите в True

    Спасибо, сделал. Но теперь во вложенном отчете выводится весь набор данных.
    Должно быть

    Сотрудник 1
    8 8 8 8 8
    0 0 0 0 0
    9 9 9 9 9
    0 0 0 0 0

    Сотрудник 2
    8 8 8 8 8
    0 0 0 0 0
    9 9 9 9 9
    0 0 0 0 0

    а получается

    Сотрудник 1
    8 8 8 8 8
    0 0 0 0 0
    9 9 9 9 9
    0 0 0 0 0
    8 8 8 8 8
    0 0 0 0 0
    9 9 9 9 9
    0 0 0 0 0
    ....

    Сотрудник 1, 2 ... это DMemox1, который в основном отчете.

    Получается, что вложенный отчет никак не связан с полями DMemox1, DMemoX22, DMemoX3. Но это не соответствует условиям задачи.
    Шаблон прикрепил! Посмотрите, пожалуйста, может что-то нужно добавить?!
  • отредактировано 06:27
    Прикрепил рисунок, где показан результат со вложенным отчетом.
    Очень жду еще советов и помощи. Спасибо.
  • gpigpi
    отредактировано 06:27
    Вы этого так и не сделали
    написал:
    во вложенном отчёте мемо расположите на одном мастербенде и трёх дочерних
    Установите связь Master-Detail между датасетами MasterData1 и MasterData3
  • отредактировано August 2010
    gpi написал: »
    Вы этого так и не сделали

    Я делал, просто сбросил Вам упрощенный вариант. В другом случае тоже самое.
    Насчет связи. Буду очень признателен, если для моего варианта Вы напишите пример. До этого ни разу не делал связи с компонентами fast report, в справке не получается найти информацию.
  • отредактировано August 2010
    Вот часть кода:

    DataBand1:=frxReport2.FindObject('MasterData1') as TfrxMasterData;
    DataBand1.DataSet:=frxDBDataset1;


    DataBand2:=frxReport2.FindObject('MasterData3') as TfrxMasterData;
    DataBand2.DataSet:=frxDBDataset2;


    frxDBDataset1.DataSet:=DM.Tab1;
    frxDBDataset2.DataSet:=DM.Tab1;


    dpodY1:=(frxReport2.FindObject('DMemoY1') as TfrxMemoView);
    dpodY1.DataSet:=frxDBDataset2;
    dpodY1.DataField:='XX';
    ...
  • отредактировано 06:27
    Кажется получилось. Спасибо за помощь!
  • gpigpi
    отредактировано 06:27
    По-моему, Вам можно обойтись и без связи Master-Detail, установив MasterData3.RowCount в 1
  • отредактировано August 2010
    написал:
    установив MasterData3.RowCount в 1

    Попробовал, но не помогло. Сейчас все настроил и работает со связью Master-Detail.
    Но появился маленький вопрос. Что-то иногда с форматированием таблицы не нормально, именно в начале новой страницы, там где идет разрыв Child-бэнда. Причем проблема через страницу. Одна нормально, следующая вот с такой штукой.
    Прикрепил скриншот отчета (стрелкой указана проблема).

    Может можно как-то указать, чтобы master+3 child бэнда не рвались, а выводились только вместе. Есть такая возможность?

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

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