CompletIT Community Server

Welcome to CompletIT Community Server Sign in | Join | Help
in Search

Using EventHandlers in DGVEExcelExporter class

Last post 10-14-2007, 1:17 AM by iiordanov. 1 replies.
Sort Posts: Previous Next
  •  10-13-2007, 11:42 PM 266

    Using EventHandlers in DGVEExcelExporter class

    Hi,

     I'm using DGVEExcelExporter class to export to excel. When i call the Export method its taking me more than 2 minutes to export to excel(200 rows of record). So i want to make use of the StartExport, EndExport eventhandlers so that i can popup a "Export in progress Please wait" :-) Screen till it get exported.

    But the event is not getting called. Could any help me. Below is the code snippet.

    DGVEExcelExportingSettings excelSettings = new DGVEExcelExportingSettings();

    excelSettings.DirectoryName = @"D:\test";

    excelSettings.FileName = "sample1";

     DGVEExcelExporter exporter = new DGVEExcelExporter();

    exporter.StartExport += new EventHandler<CompletIT.Windows.Forms.Export.ExportEventArgs>(exporter_StartExport);

    exporter.EndExport += new EventHandler<CompletIT.Windows.Forms.Export.ExportEventArgs>(exporter_EndExport);

     private void exporter_StartExport(object sender, CompletIT.Windows.Forms.Export.ExportEventArgs e)

    {

    exporter.Export(dataGridView1, excelSettings);

    }

    private void exporter_EndExport(object sender, CompletIT.Windows.Forms.Export.ExportEventArgs e)

    {

    MessageBox.Show("Done");

    }

     Regards,

    Kannabiran

    Filed under:
  •  10-14-2007, 1:17 AM 267 in reply to 266

    Re: Using EventHandlers in DGVEExcelExporter class

    Dear Kannabiran,

    In order to have both EventHandlers StartExport and EndExport called you have to call first:
    exporter.Export(dataGridView1, excelSettings);
    and then you will be notified that the export has been started/ended or an error has occured.

    So after the change your code will look like (the bold lines of code are changed):

    DGVEExcelExportingSettings excelSettings = new DGVEExcelExportingSettings();
    excelSettings.DirectoryName = @"D:\test";
    excelSettings.FileName =
    "sample1";

    DGVEExcelExporter
    exporter = new DGVEExcelExporter();
    exporter.StartExport += new EventHandler<CompletIT.Windows.Forms.Export.ExportEventArgs>(exporter_StartExport);
    exporter.EndExport += new EventHandler<CompletIT.Windows.Forms.Export.ExportEventArgs>(exporter_EndExport);
    exporter.Export(dataGridView1, excelSettings);

    private
    void exporter_StartExport(object sender, CompletIT.Windows.Forms.Export.ExportEventArgs e)
    {
        MessageBox.Show("Start Export");
    }

    private void exporter_EndExport(object sender, CompletIT.Windows.Forms.Export.ExportEventArgs e)
    {
        MessageBox.Show("End Export");
    }


    What I can suggest you more is to attach to the event ExportFailed which is called in case of exception during the export. In the error event handler you can display the message for the occured exception. Like this:

    exporter.ExportFailed += new EventHandler<CompletIT.Windows.Forms.Export.ExportFailedEventArgs>(exporter_ExportFailed);
    private void exporter_ExportFailed(object sender, CompletIT.Windows.Forms.Export.ExportFailedEventArgs e)
    {
        MessageBox.Show( e.Exception.Message );
    }


    Yours Sincerely,
    Support Team

    Filed under:
View as RSS news feed in XML
Powered by Community Server (Personal Edition), by Telligent Systems