Не удается сделать группировку в рантайм

отредактировано 11:34 Раздел: FastReport 3.0
Добрый день, All

Итак, проблема

Runtime

1. Создаем Report.
2. Загружаем его из шаблона. Report.LoadFromFile('Report.fr3'); (отчет содержит группировку одного уровня)
3. Создаем <MemoryDataset> - поля (Id (Integer), Name (String), Value (String), Count (Integer))
4. Создаем TfrxDBDataset (frxDBDataset := TfrxDBDataset.Create(Report); frxDBDataset.UserName = 'Data');
5. frxDBDataset.Dataset := <MemoryDataset>
6. MasterData.Dataset := frxDBDataset.; (и также для всех View в этом банде Views.Dataset := frxDBDataset - (Превдокод :-))
7. GroupHeader1.Views.Dataset := frxDBDataset; (Превдокод :-)
8. GroupHeader1.Condition = Data."Id" (т.е. <Dataset.UserName>."Dataset.Field")
9. Report.PrepareReport(True); -> получаем 'GroupHeader1: Ошибка в выражении 'Data."Id"': Identifier expected'.

что я делаю не так ?

WBR,
Pavel

Комментарии

  • отредактировано 11:34
    Сорри, вопрос снят.
    Надо еще было делать Report.Datasets.Add(frxDBDataset) (преупреждать надо)
    Почему бы так не добавить метод:

    function TfrxReport.CreateDataset(ADatasetClass: TfrxDatasetClass): TfrxDataset;

    WBR,
    Pavel

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

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