FastReport 3.10 Проблема с несколькими DataSet

отредактировано 21:37 Раздел: FastReport 3.0
FastReport 3.10 Prof
в проэкте,которым я занимаюсь, отчеты настраиваются в интерфейсной части, данные для отчетов готовятся хранимыми процидурами (MSSQL 2000).
В шаблонах отчета используются frxDBDataset.UserName:='DATA' , т.е. в каждом отчете на MasterData лежит источник данных с алиасом DATA.
frxReport , frxDBDataset создаются динамически. Пока запущен один отчет все нормально. Сделали чтобы по клику, в уже сформированном отчете,
вызывался, через пользовательскую процидуру, следующий отчет. Тут начинаются проблемы .. опять создается frxDBDataset с UserName:='Data', ставлю frxReport.EnabledDataSets.Add(frxDBDataset) .. всеравно приэтом новый отчет подхватывает frxDBDatase из первого отчета .. что делать .. я работал с FR2.5 там у меня таких проблем небыло

Комментарии

  • отредактировано 21:37
    дело в том, что ссылка на датасет прописана в самом отчете. И при загрузке отчета, несмотря на содержимое EnabledDatasets, FR находит первый датасет с подходящим именем. Как вариант можно перед загрузкой отчета менять имя у старого датасета.
  • отредактировано 21:37
    Да как вариант подходит .. пришлось так и зделать .. прошолся по исходникам .. почему бы при анализе - какой Dataset нужен

    function frxFindDataSet

    ...

    if AnsiCompareText(ds.UserName, Name) = 0 then
    if not ((Owner is TfrxReport) and (ds.Owner is TfrxReport) and
    (ds.Owner <> Owner)) then
    begin
    Result := DatasetList;
    break;
    end;
    ...

    не проверить флажок Enabled ..

    за ответ спасибо

  • отредактировано 21:37
    Добрый день!
    написал:
    frxReport , frxDBDataset создаются динамически. Пока запущен один отчет все нормально. Сделали чтобы по клику, в уже сформированном отчете,
    вызывался, через пользовательскую процидуру, следующий отчет.
    Cделай свой Preview, для каждого нового отчета создавай объект TfrxReport. При формировании отчета: 1) чисти все датасеты 2) добавляй свои 3) Для всех TfrxDataBand, TfrxDBCrossView и TfrxPictureView проверь и назначь датасеты программно согласно загруженному макету. Тогда формы с отчетами живут независимо друг от друга и нет необходимости править frxClass.

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

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