Динамическая работа с элементом Tfrxgroupheader

отредактировано 14:35 Раздел: FastReport 4.0
Доброго дня! Имеется следующий набор переменных:

frxReport: TfrxReport;
frxUserDataSet: TfrxUserDataSet;
DataBand: TfrxMasterData;
DataBandGroup: TfrxGroupHeader;

....

frxReport := TfrxReport.Create(nil);
DataBand := frxReport.FindObject('DataBandBody') as TfrxMasterData;
// DataBandGroup := frxReport.FindObject('DataBandGroup') as TfrxGroupHeader;
frxUserDataSet := TfrxUserDataSet.Create(frxReport); // create a class variable TfrxUserDataSet
DataBand.DataSet := frxUserDataSet;
// DataBandGroup.FindDataSet(frxUserDataSet, 'CUSTOMER');
DataBand.Stretched := true;
//////Закомментированы строки с непредсказуемым результатом

....

Report_Query.SQL.Add ('SELECT a.FTIME_CHANGE, a.FP_NAME, a.FP_PRICE, c.FS_NAME, b.FU_NAME, b.FU_EMAIL ' +
'FROM TORDERS a, TCLIENTS b, TORDER_STATUSES c ' +
'WHERE (a.FO_CLIENT_GUID = b.FU_GUID) and (a.FO_STATUS = c.FS_ID) and (a.FO_STATUS = 54 or a.FO_STATUS = 58) ' +
'ORDER BY a.FP_NAME');

....

'DataBandBody' - MasterData с основным содержимым
Вопрос: как к нему грамотно привязать динамически созданный GroupHeader?

Комментарии

  • отредактировано January 2013
    конкретно, мне нужно сделать группировку по полю FU_NAME из
    написал:
    Report_Query.SQL.Add ('SELECT a.FTIME_CHANGE, a.FP_NAME, a.FP_PRICE, c.FS_NAME, b.FU_NAME, b.FU_EMAIL ' +
    'FROM TORDERS a, TCLIENTS b, TORDER_STATUSES c ' +
    'WHERE (a.FO_CLIENT_GUID = b.FU_GUID) and (a.FO_STATUS = c.FS_ID) and (a.FO_STATUS = 54 or a.FO_STATUS = 58) ' +
    'ORDER BY a.FP_NAME');
    в уточнении задания: вся проблема в том, что не могу связать MasterData и GroupHeader динамически в Run-Time
  • gpigpi
    отредактировано January 2013
    Координата Top заголовка группы должна быть такой, чтобы он располагался над дата-бэндом
  • отредактировано 14:35
    gpi написал: »
    Координата Top заголовка группы должна быть такой, чтобы он располагался над дата-бэндом


    Спасибо, конечно за участие, но это логично судя из официальной документации. Вся проблема в том, что там объекты создаются статически, выбрасыванием на форму: имеется ввиду DataSet и далее привязка МастерДата и ЗаголовкаГруппы к нему и к конкретному полю соответственно. Но абсолютно ничего я не нашел по поводу динамической привязки. Очень жаль, что я не нашел ответа даже на официальном форуме(
  • gpigpi
    отредактировано 14:35
    В руководстве программиста в главе "Создание формы отчета с помощью кода" описано создание формы отчёта с помощью кода. И свойство Тор там тоже устанавливается, чего в Вашем коде я не увидел
    А вот смысл этого кода мне не понятен:
    frxReport := TfrxReport.Create(nil);
    DataBand := frxReport.FindObject('DataBandBody') as TfrxMasterData;
    
    написал:
    Очень жаль, что я не нашел ответа даже на официальном форуме(
    Для официальной поддержки есть тикеты

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

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