为 ExportToStream() 方法准备项目

在本节中,将学习如何修改在“创建用于新导出格式的方法”中所创建的项目。

现在,必须删除 ExportToStream() 方法不需要的某些代码行。

修改项目以使用 ExportToStream() 方法

  1. 打开“工具箱”。

  2. 打开 Web 或 Windows 窗体。

  3. 从“视图”菜单中,单击“代码”。

  4. 在类的顶部,删除以下类声明:

    Private myDiskFileDestinationOptions As DiskFileDestinationOptions
    Private myExportOptions As ExportOptions
    
    private DiskFileDestinationOptions diskFileDestinationOptions;
    private ExportOptions exportOptions;
    
  5. 在 ExportSetup() 方法中,删除条件块后面的所有代码行。(调用 ExportFormatOptions 属性的最后一行代码仅在 Windows 项目中出现。)

``` vb
myDiskFileDestinationOptions = New DiskFileDestinationOptions()
myExportOptions = hierarchicalGroupingReport.ExportOptions
myExportOptions.ExportDestinationType = ExportDestinationType.DiskFile
myExportOptions.ExportFormatOptions = Nothing
```

``` csharp
diskFileDestinationOptions = new DiskFileDestinationOptions();
exportOptions = hierarchicalGroupingReport.ExportOptions;
exportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
exportOptions.ExportFormatOptions = null;
```
  1. 删除以下导出配置方法:

    • ConfigureExportToRpt()
    • ConfigureExportToRtf()
    • ConfigureExportToDoc()
    • ConfigureExportToXls()
    • ConfigureExportToPdf()
    • ConfigureExportToHtml32()
    • ConfigureExportToHtml40()
    • ConfigureExportToXlsRec()
  2. 在 Select Case [Visual Basic] 的 switch [C#] 或 ExportSelection() 条件分支语句中,删除对导出配置方法的调用。

  3. 在 ExportCompletion() 方法中,删除对 Export() 方法的调用。

  4. 从 ExportCompletion() 方法复制所有代码,并粘贴到 ExportSelection() 方法的顶部。

  5. 删除 ExportCompletion() 方法,并删除在“exportByType”按钮单击事件中对 ExportCompletion() 的调用。

  6. 在 ExportSelection() 方法中,把 Select Case [Visual Basic] 或 switch [C#] 条件分支语句剪切并粘贴到 try 块中 If 块的上方。

现在 try/catch 块将如下所示:

``` vb
Try
Select Case exportTypesList.SelectedIndex
Case ExportFormatType.NoFormat
selectedNoFormat = True
Case ExportFormatType.CrystalReport

Case ExportFormatType.RichText

Case ExportFormatType.WordForWindows

Case ExportFormatType.Excel

Case ExportFormatType.PortableDocFormat

Case ExportFormatType.HTML32

Case ExportFormatType.HTML40

End Select
If selectedNoFormat Then
message.Text = MessageConstants.FORMAT_NOT_SUPPORTED
Else
message.Text = MessageConstants.SUCCESS
End If
Catch ex As Exception
message.Text = MessageConstants.FAILURE & ex.Message
End Try
```

``` csharp
try
{
switch ((ExportFormatType)exportTypesList.SelectedIndex)
{
case ExportFormatType.NoFormat:
selectedNoFormat = true;
break;
case ExportFormatType.CrystalReport:
break;
case ExportFormatType.RichText:
break;
case ExportFormatType.WordForWindows:
break;
case ExportFormatType.Excel:
break;
case ExportFormatType.PortableDocFormat:
break;
case ExportFormatType.HTML32:
break;
case ExportFormatType.HTML40:
break;
case ExportFormatType.ExcelRecord:
break;
}
if (selectedNoFormat)
{
message.Text = MessageConstants.FORMAT_NOT_SUPPORTED;
}
else
{
message.Text = MessageConstants.SUCCESS;
}
}
catch (Exception ex)
{
message.Text = MessageConstants.FAILURE + ex.Message;
}
```