Мне нужно знать, как правильно их утилизировать.
Код: Выделить всё
// ReportViewer.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
XtraReport report = new XtraReport();
report.LoadLayout(reportsDirectory + "\\" + Request.Params["rptnme"]);
//For backward compatibility
SqlDataSource.DisableCustomQueryValidation = true;
SqlDataSource.AllowCustomSqlQueries = true;
//Allow all scripts to be run via devexpress for backward compatibility
ScriptPermissionManager.GlobalInstance = new ScriptPermissionManager(ExecutionMode.Unrestricted);
if (report.DataSource is SqlDataSource)
{
ParseParams(report);
}
if (report.DataSource != null)
{
report.DataSourceDemanded += report_DataSourceDemanded;
((SqlDataSource)report.DataSource).ConfigureDataConnection += new ConfigureDataConnectionEventHandler(devReports_Default_ConfigureDataConnection);
}
SubReports(report);
if (Request.Params.Count > 0)
{
if (Request.Params["DisplayName"] != null)
{
report.DisplayName = Request.Params["DisplayName"];
}
}
if (Request.Params["exptyp"] == "pdf" || Request.Params["exptyp"] == "ALL")
{
// Specify export options.
PdfExportOptions pdfExportOptions = new PdfExportOptions()
{
PdfACompatibility = PdfACompatibility.PdfA1b
};
}
DocViewer1.OpenReport(report);
}
// ReportViewer.aspx
- Сначала он создает новый объект XtraReport, который представляет отчет.
< li>Затем он загружает макет отчета из файла. Путь к файлу создается путем объединения reportDirectory (который считывается из конфигурации приложения) и имени отчета, которое передается в качестве параметра в запросе. - Это отключает проверку пользовательского запроса и позволяет настраивать запросы SQL для SqlDataSource. Это сделано для обратной совместимости.
- Он устанавливает для ScriptPermissionManager.GlobalInstance новый ScriptPermissionManager с ExecutionMode.Unrestricted, что позволяет запускать все сценарии через DevExpress для обеспечения обратной совместимости.
- Если источником данных отчета является SqlDataSource, он вызывает метод ParseParams для анализа параметров запросов отчета.
- Если у отчета есть источник данных, он подписывается на событие DataSourceDemanded и событие ConfigureDataConnection SqlDataSource. Событие DataSourceDemanded возникает, когда запрашивается источник данных отчета, а событие ConfigureDataConnection возникает, когда необходимо настроить подключение к данным SqlDataSource.
- Оно вызывает метод SubReports для обработки любых вложенные отчеты в отчете.
- Если в запросе есть параметры, отображаемому имени отчета присваивается значение параметра «DisplayName».
- Если параметр «exptyp» в запросе имеет значение «pdf» или «ALL», он создает новый объект PdfExportOptions и устанавливает для его свойства PdfACompatibility значение PdfACompatibility.PdfA1b. Используется для указания параметров экспорта отчета в PDF. Однако сам экспорт в PDF закомментирован в этом коде.
- Наконец, он открывает отчет в DocViewer1, который представляет собой элемент управления ASPxWebDocumentViewer, отображающий отчет пользователю.
Этот метод вызывается каждый раз при загрузке страницы. Он считывает имя отчета из параметров запроса, загружает отчет, настраивает его и отображает пользователю.
Подробнее здесь: https://stackoverflow.com/questions/781 ... port-beein