为 ExportToStream() 方法准备项目
在本节中,将学习如何修改在“创建用于新导出格式的方法”中所创建的项目。
现在,必须删除 ExportToStream() 方法不需要的某些代码行。
修改项目以使用 ExportToStream() 方法
打开“工具箱”。
打开 Web 或 Windows 窗体。
从“视图”菜单中,单击“代码”。
在类的顶部,删除以下类声明:
Private myDiskFileDestinationOptions As DiskFileDestinationOptions Private myExportOptions As ExportOptions
private DiskFileDestinationOptions diskFileDestinationOptions; private ExportOptions exportOptions;
在 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;
```
删除以下导出配置方法:
- ConfigureExportToRpt()
- ConfigureExportToRtf()
- ConfigureExportToDoc()
- ConfigureExportToXls()
- ConfigureExportToPdf()
- ConfigureExportToHtml32()
- ConfigureExportToHtml40()
- ConfigureExportToXlsRec()
在 Select Case [Visual Basic] 的 switch [C#] 或 ExportSelection() 条件分支语句中,删除对导出配置方法的调用。
在 ExportCompletion() 方法中,删除对 Export() 方法的调用。
从 ExportCompletion() 方法复制所有代码,并粘贴到 ExportSelection() 方法的顶部。
删除 ExportCompletion() 方法,并删除在“exportByType”按钮单击事件中对 ExportCompletion() 的调用。
在 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;
}
```