Открыть другой файл отчета и не только...

отредактировано February 2007 Раздел: FastReport 4.0
Собственно задачи 2.

Имею сформированный в превью отчет.

1. Необходимо из него по нажатию на мемо открыть в отдельном превью отчет из файла и передать ему переменные, которые он будет использовать при подготовке.

2. Сделать в отчете 2 страницы и формировать вторую страницу при клике на мемке. То есть и свойство sql, и его открытие, и отображение.

То есть дрилл-даун с извратами... ;)

Ну и попутно.
Так и не получилось в мемку запихать функцию IIF. Описания ее нет, перечитал все, так и не получилось. А задача элементарная (пишу без синтаксиса, по смыслу):
IIF(query1.docid = 1, "Номер 1", "Номер 2")
Причем когда выдает ошибку, выдает ее на одной строке с самим выражением (в конце). В результате саму ошибку не понять. Надо бы текст ошибки переносить на новую строку.

И еще. Хинты можно выводить или нет? В превью при наведении на мемо. Можно Description для этого юзать.

А еще когда в коде коментариев много, криво все отображается, жуть.

Комментарии

  • gpigpi
    отредактировано 07:37
    Смотрите пример InteractiveReport
    По поводу IIF: [IIF(<query1."docid"> = 1, 'Номер 1', 'Номер 2')]
    написал:
    И еще. Хинты можно выводить или нет? В превью при наведении на мемо. Можно Description для этого юзать.
    При клике на мемо можно выводить сообщение, если повесить обработчик на OnPreviewClick
  • отредактировано February 2007
    Ничего в этом репорте подобного нет. Примеры вообще слабые. Как окошко выводить я знаю. Речь идет о выедении текста в мемо в зависимости от значения поля БД.

    Я говорю не о СООБЩЕНИЯХ, а о ХИНТАХ.
  • gpigpi
    отредактировано 07:37
    написал:
    Ничего в этом репорте подобного нет
    Речь идёт об отдельном демо InteractiveReport
    п. 1 один к одному, ну а для п. 2 во втором TfrxReport сформировать отчёт и добавить его к первому отчёту
    написал:
    Речь идет о выделении текста в мемо в зависимости от значения поля БД.
    Для этого и используется функция IIF
    Именно хинтов в предварительном просмотре FR вроде бы нет.
  • отредактировано 07:37
    а где эту дему взять?
    п1 - открытие отчета?

    по IIF желательно пример
  • gpigpi
    отредактировано 07:37
    написал:
    а где эту дему взять?
    в папке Demos
    написал:
    по IIF желательно пример
    [IIF(<query1."docid"> = 1, 'Номер 1', 'Номер 2')]
  • отредактировано 07:37
    написал:
    Речь идёт об отдельном демо InteractiveReport

    Там вызов идет во первых из кода программы, а во вторых отчет уже лежит на форме. А мне надо непосредственно из отчета запускать новый отчет, закрывая существующий. По логике, в том, кто создает при уничтожении возникнет ошибка.

    Поэтому вопрос остается открытый. AlexTZ, подключайся ;)
  • gpigpi
    отредактировано 07:37
    Из программы можно сделать так:
    procedure TForm1.MainReportClickObject(View: TfrxView;
      Button: TMouseButton; Shift: TShiftState; var Modified: Boolean);
    begin
      if View.Name = 'Memo8' then
      begin
        DetailQuery.Close;
        DetailQuery.ParamByName('custno').Text := View.TagStr;
        MainReport.LoadFromFile('C:\1.fr3');
        MainReport.ShowReport;
      end;
    end;
    
    Из скрипта
    procedure Memo8OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);
    begin
         Report.LoadFromFile('C:\1.fr3');
         ReportVar:=TfrxMemoView(Sender).Text;     
         Report.ShowReport;                         
    end;
    
    Скриптовая переменная ReportVar должна быть описана в программе
    MainReport.Script.Variables:='';
    В скрипте загружаемого отчёта нужно присвоить параметру запроса значение ReportVar и открыть запрос

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

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