Есть три таких метода (на самом деле их может быть еще больше.)
private void bExportExcel_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
{
TableView viewToWorkWith = GetViewToExportOrPrint();
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".xls"; // Default file extension
dlg.Filter = ".xls|*.xls"; // Filter files by extension
Nullable<bool> result = dlg.ShowDialog();
// Process save file dialog box results
if (result == true)
{
// Save document
string filename = dlg.FileName;
viewToWorkWith.ExportToXls(filename, new DevExpress.XtraPrinting.XlsExportOptions());
}
}
private void bExportHtml_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
{
TableView viewToWorkWith = GetViewToExportOrPrint();
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".html"; // Default file extension
dlg.Filter = ".html|*.html"; // Filter files by extension
Nullable<bool> result = dlg.ShowDialog();
// Process save file dialog box results
if (result == true)
{
// Save document
string filename = dlg.FileName;
viewToWorkWith.ExportToHtml(filename, new DevExpress.XtraPrinting.HtmlExportOptions());
}
}
private void bExportPdf_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
{
TableView viewToWorkWith = GetViewToExportOrPrint();
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".pdf"; // Default file extension
dlg.Filter = ".pdf|*.pdf"; // Filter files by extension
Nullable<bool> result = dlg.ShowDialog();
// Process save file dialog box results
if (result == true)
{
// Save document
string filename = dlg.FileName;
viewToWorkWith.ExportToPdf(filename, new DevExpress.XtraPrinting.PdfExportOptions());
}
Как-то можно их отрефакторить, чтобы был один базовый метод, который бы и вызывался три раза с разными параметрами?
Сложность тут в том, что методы типа viewToWorkWith.ExportToPdf(filename, new DevExpress.XtraPrinting.PdfExportOptions()); отличаются сигнатурой и filename становится известным слишком поздно
.