Я работаю над приложением WPF с отчетами Crystal. Мне нужно отобразить четыре отчета одним нажатием кнопки. Для этого я использую настраиваемый закрываемый вкладки. Когда пользователь нажимает кнопку «Печать», Мои четыре различные функции выполняются одна за другой, каждая функция получает данные и динамически отображает средство просмотра отчетов. Для одного отчета нет проблем. Но для этого 4 отчета одним щелчком мыши, когда все четыре отчета отображаются на четырех разных вкладках, и пользователь нажимает кнопку печати любого отчета, хотя отчет отправляется на принтер, но средство просмотра «круг занятости» все еще показывает, что отчет занят печатью, это выглядит как зритель получил повесить.
Ниже мой код
private void PrintFirstReport()
{
try
{
List<Student> students = GetSomeData();
ReportDocument report = new Reports.rptStudent();
report.SetDataSource(students);
AddNewTab(report, reportName);
}
catch (Exception)
{
throw;
}
}
private void AddNewTab(ReportDocument report, string reportTab)
{
try
{
string title = reportTab;
SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer crv = new SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer()
{
Name = reportTab,
ToggleSidePanel = SAPBusinessObjects.WPF.Viewer.Constants.SidePanelKind.None,
ShowToggleSidePanelButton = false,
};
crv.ViewerCore.ReportSource = report;
Frame frame = new Frame();
ClosableTab tabItem = new ClosableTab { Tag = reportTab };
frame.Content = crv;
tabItem.Name = reportTab;
tabItem.Title = title;
tabItem.Content = frame;
tcReports.Items.Add(tabItem);
tabItem.Focus();
}
catch (Exception)
{
throw;
}
}
Метод AddNewTab () является общим для всех отчетов.