Обращение в скрипте отчета к датасету, который будет создан динамически

отредактировано 17:36 Раздел: FastReport 4.0
Добрый день.
Есть шаблон с одним masterdata, в полях, расположенных на нем, идет обращение к датасету (например [R01."Name"]), который программно ему передастся. Еще на одно из полей висит обработчик
// получить смещение, чтобы визуально список походил на дерево
Memo52.GapX := 2 + R01.FieldByName('Shift').AsInteger * 10; 
Вот тут и вопрос: R01 пока ведь нет, он передастся программно, но, с другой стороны, когда я его программно передала он уже появился, но все равно лезет ошибка "Script Error: Undeclared identifier R01". Что с этим делать?

PS. Была идея реализовать так. На masterdata пометить поле [R01."Shift"], сделать его невидимым, потом на событие onAfterData установить смещение, только опираясь на данные этого поля (а не на датасет). Но как выяснилось невидимые поля не наполняются данными.

Подскажите как можно справится с такой проблемой. Спасибо.

Комментарии

  • отредактировано 17:36
    var
    DS:TfrxDataSet;
    begin
    DS := Report.GetDataset('R01');
    if DS <> nil then
    Memo52.GapX := 2 + DS.Value('Shift') * 10;
    end;
  • отредактировано 17:36
    Спасибо, заработало )))

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

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