OnSaveReport

отредактировано 18:27 Раздел: FastReport Studio
Спасибо разработчикам за OnSaveReport.
Здорово помогает. Но возник вопрос:
как мне вызвать при переопределенном событии OnSaveReport диалог SaveAs, который вызывался бы если бы я событие не переопределял?
Если никак, то у меня вопрос: как определить что нажал пользователь:
Save или SaveAs? Я бы уже сам вызвал диалог сохранения.

Для разработчиков это может быть критично в том случае, если идет штатное сохранение в базу, но пользователь хочет сохранить отчет в файл.

Комментарии

  • отредактировано 18:27
    в событие передается параметр SaveAs: Boolean
  • отредактировано 18:27
    написал:
    в событие передается параметр SaveAs: Boolean
    Вот, что передается в событие:
    FastReport.IfrxDesignerEvents_OnSaveReportEventHandler(FastReport.TfrxReport)
    Никаких boolean.
    Если я не прав, то был бы благодарен за работающий пример.
    Кстати, в примере, выложенном разработчиками, тоже никаких упоминаний о SaveAs.
  • almanalman космополит
    отредактировано 18:27
    Maxim Koval написал:
    Maxim Koval написал:
    в событие передается параметр SaveAs: Boolean
    Вот, что передается в событие:
    FastReport.IfrxDesignerEvents_OnSaveReportEventHandler(FastReport.TfrxReport)
    Никаких boolean.
    Если я не прав, то был бы благодарен за работающий пример.
    Кстати, в примере, выложенном разработчиками, тоже никаких упоминаний о SaveAs.
    Прошу прощения. Не вывел SaveAs.
    Сейчас исправлю, а попадёт в завтрашнюю сборку.
  • FokewolfFokewolf Киев
    отредактировано 18:27
    Кстати, ответьте темному, как переопределить событие OnSaveReport ?
  • FokewolfFokewolf Киев
    отредактировано 18:27
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using FastReport;

    namespace WindowsApplication1
    {
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
    private System.Windows.Forms.Button button1;
    protected FastReport.TfrxReportClass report;
    protected FastReport.TfrxDesignerClass designer;

    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.Container components = null;

    public Form1()
    {
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent();

    //
    // TODO: Add any constructor code after InitializeComponent call
    //
    designer=new TfrxDesignerClass();
    report=new TfrxReportClass();
    designer.OnSaveReport += new IfrxDesignerEventDispatcher_OnSaveReportEventHandler(OnSaveReportEventHandler);
    designer.OnLoadReport += new IfrxDesignerEventDispatcher_OnLoadReportEventHandler(OnLoadReportEventHandler);
    }
    protected void OnLoadReportEventHandler(TfrxReport report)
    {
    MessageBox.Show("External LoadReport function not implemented");
    }
    protected void OnSaveReportEventHandler(TfrxReport report, bool SaveAs, out bool Aborted)
    {
    Aborted = true;
    if(SaveAs)
    MessageBox.Show("External SaveReportAs() function not implemented");
    else
    MessageBox.Show("External SaveReport() function not implemented");
    }
    private void button1_Click(object sender, System.EventArgs e)
    {
    report.DesignReport();
    }


    Но, похоже, событие вообще не происходит, открывается шаблон отчета в режиме дизайнера. При сохранении запрашивает куда сохранить файл ...
    Что не так? И никаких сообщений не выдается...

  • FokewolfFokewolf Киев
    отредактировано 18:27
    Что, и никто не подскажет? ;) (((
  • FokewolfFokewolf Киев
    отредактировано 18:27
    Я не понимаю, почему все так упорно молчат? ;)
  • almanalman космополит
    отредактировано 18:27
    По-видимому Вы забыли присвоить значение свойствам
    designer.EnableLoadEvent = true;
    designer.EnableSaveEvent = true;

    Смотрите пример Demo\VisualC#.NET\DesignerExample\"
  • FokewolfFokewolf Киев
    отредактировано 18:27
    Спасибо!

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

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