Изменение заголовка отчета "на лету"

отредактировано 16:40 Раздел: FastReport 3.0
есть отчет в фастрепорте (3.16), структура его всегда одинакова, меняется только его название .... как это сделать ?

Комментарии

  • FokewolfFokewolf Киев
    отредактировано 16:40
    А конкретнее нельзя вопрос сформулировать? Например, в зависимости от чего меняется его название? И в какой момент нужно изменить название?
  • отредактировано 16:40
    ну есть в проекте делфи переменная ...
    допустим она меняется от 1 до 3 ...
    если 1, то надо в заголовке отчета нпаписать "данные по
    поставщику 1"
    если 2 , то "список заказов менеджера Васи" ...
  • FokewolfFokewolf Киев
    отредактировано 16:40
    А в какой момент переменной присваивается значение?
  • FokewolfFokewolf Киев
    отредактировано 16:40
    В принципе-в событии, в котором нужно поменять наименование -делаешь проверку на значение переменной.Вот и все:
    If r=1 then
    begin
    Memo1.Text:='имя отчета';
    end
    Else If r=2 then
    begin
    Memo1.Text:='имя отчета';
    end
    ...
  • отредактировано 16:40
    Да это понятно ....
    А как эту переменную передать в фастрепорт из делфи ?

    Я так понимаю, что вот установил я в делфи переменную LISTMODE в "2" ...
    Теперь как то я LISTMODE должен передать в фастрепорт и там его проанализировать .... Вот это как раз как сделать ?
  • LexLex
    отредактировано 16:40
    Я так понял ему необходимо изменить заголовок отчета из основного кода.

    Это все есть в документации, но еще раз...
      ..............
      var 
        MyMemo:TfrxMemoView;
      .......................
      begin
      ........................
      MyMemo:= Report.FindObject('TitleMemo') as TfrxMemoView
      case x of
        1: MyMemo.Text := 'Текст 1';
        2: MyMemo.Text := 'Текст 2';
        3: MyMemo.Text := 'Текст 3';
      end;
      Report.ShowReport; 
      .....................
      end;
    

    где-то примерно так,
    код не проверял. Елси чего подправь, но принцип такой.
  • Andrew_ShAndrew_Sh г.Минск
    отредактировано September 2005
    1) Если переменная заполняется из программы, а не в диалоге отчета, то сначала передаешь значение этой переменной из проги в отчет:
      frxReport1.Variables['LISTMODE'] := LISTMODE;
    

    2) Добавляешь переменную с именем LISTMODE в спсисок переменных отчета.
    Заводишь глобальную переменную в скрипте отчета. Допустим sTitle
    var
      sTitle: string;
    

    В отчете в обработчике события OnStartReport для отчета или OnBeforePrint для страницы пишешь:
    begin
      case <LISTMODE> of
        1: sTitle := 'данные по поставщику 1';
        2: sTitle := 'список заказов менеджера Васи';
        else sTitle := 'Что-то иное';
      end;
    


    3) В memo на ReportTitle пишешь [sTitle]
  • отредактировано 16:40
    Andrew_Sh, пасиба !
    Зачинятельно работает !

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

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