Не удается сделать группировку в рантайм
Добрый день, 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
Итак, проблема
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
Комментарии
Надо еще было делать Report.Datasets.Add(frxDBDataset) (преупреждать надо)
Почему бы так не добавить метод:
function TfrxReport.CreateDataset(ADatasetClass: TfrxDatasetClass): TfrxDataset;
WBR,
Pavel