OnSaveReport
Спасибо разработчикам за OnSaveReport.
Здорово помогает. Но возник вопрос:
как мне вызвать при переопределенном событии OnSaveReport диалог SaveAs, который вызывался бы если бы я событие не переопределял?
Если никак, то у меня вопрос: как определить что нажал пользователь:
Save или SaveAs? Я бы уже сам вызвал диалог сохранения.
Для разработчиков это может быть критично в том случае, если идет штатное сохранение в базу, но пользователь хочет сохранить отчет в файл.
Здорово помогает. Но возник вопрос:
как мне вызвать при переопределенном событии OnSaveReport диалог SaveAs, который вызывался бы если бы я событие не переопределял?
Если никак, то у меня вопрос: как определить что нажал пользователь:
Save или SaveAs? Я бы уже сам вызвал диалог сохранения.
Для разработчиков это может быть критично в том случае, если идет штатное сохранение в базу, но пользователь хочет сохранить отчет в файл.
Комментарии
FastReport.IfrxDesignerEvents_OnSaveReportEventHandler(FastReport.TfrxReport)
Никаких boolean.
Если я не прав, то был бы благодарен за работающий пример.
Кстати, в примере, выложенном разработчиками, тоже никаких упоминаний о SaveAs.
Сейчас исправлю, а попадёт в завтрашнюю сборку.
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();
}
Но, похоже, событие вообще не происходит, открывается шаблон отчета в режиме дизайнера. При сохранении запрашивает куда сохранить файл ...
Что не так? И никаких сообщений не выдается...
designer.EnableLoadEvent = true;
designer.EnableSaveEvent = true;
Смотрите пример Demo\VisualC#.NET\DesignerExample\"