Master-detail

ojioji
отредактировано 20:49 Раздел: FastReport 4.0
Здравствуйте

Есть две таблицы, связанные ключевым полем, допустим (для простоты):

Table1:
ID
Name

Table2:
ID
Name
Table1ID

при создании Master-Detail отчета использовались Master Band и Detail Band. Ко второму подцеплен Footer.
В Footer-е есть пустое мемо-поле. На Detail Band стоит обработчик BeforePrint следующего вида:

EmptyMemo.Memo.Add(FloatToStr(EmptyMemo.Memo.Count+1) + '. ' + <frxdsTable1."Name">);

Создаем отчет, на Detail Band выводится, как и положено, столько записей, сколько соответствует Master-у.
А вот в Footer-е для первой записи Master-а выводится 5 полей, для второй - 6, для 3-ей - 7. Дальше не проверял, но остальные Master-ы без соответствий в Detail, и данные в Footer , как и надо, не выводятся.

Пример:

Master.RecNo1:
[Table1.ID] [Table1.Name]

Detail.RecNo1:
[Table2.ID] [Table2.Name]
Detail.RecNo2:
[Table2.ID] [Table2.Name]

DetailBand.Memo:
[1. [Table2.Name]]
[2. [Table2.Name]]
[3. [Table2.Name]]
[4. [Table2.Name]]
[5. [Table2.Name]]


Master.RecNo2:
[Table1.ID] [Table1.Name]

Detail.RecNo1:
[Table2.ID] [Table2.Name]

DetailBand.Memo:
[1. [Table2.Name]]
[2. [Table2.Name]]
[3. [Table2.Name]]
[4. [Table2.Name]]
[5. [Table2.Name]]
[6. [Table2.Name]]



А должно быть:
Master.RecNo1:
[Table1.ID] [Table1.Name]

Detail.RecNo1:
[Table2.ID] [Table2.Name]
Detail.RecNo2:
[Table2.ID] [Table2.Name]

DetailBand.Memo:
[1. [Table2.Name]]
[2. [Table2.Name]]

Master.RecNo2:
[Table1.ID] [Table1.Name]

Detail.RecNo1:
[Table2.ID] [Table2.Name]

DetailBand.Memo:
[1. [Table2.Name]]



FR4, BDS2006, SDAC 3.8, QUANTUMGRID6

Комментарии

  • gpigpi
    отредактировано 20:49
    Попробуйте добавить
    procedure MasterOnBeforePrint(Sender: TfrxComponent);
    begin
         EmptyMemo.Memo.Clear;                                  
    end;
    
  • ojioji
    отредактировано 20:49
    qpi, спасибо, помогло. :)

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

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