EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:访问ASPxDocumentViewer和ASPxWebDocumentViewer控件

本示例演示如何访问用于在ASP.NET XAF应用程序中显示报告的ASPxDocumentViewerASPxWebDocumentViewer控件。

在本主题中,假定您有一个使用Reports V2 Module的XAF应用程序,并且已经创建了一个或多个报告(请参阅Reports V2 Module Overview)。

当用户在ASP.NET XAF应用程序中预览报表时,将在弹出窗口或主窗口中显示“详细信息视图”(取决于ReportsAspNetModuleV2.DesignAndPreviewDisplayMode值)。此详细信息视图包含一个视图项,该视图项创建了一个用于显示报告的Web控件。特定的视图项和控件类型取决于ReportsAspNetModuleV2.ReportViewerType属性值(HTML5ASP)。

ReportViewerType值 查看项目类型 控制类型
HTML5 ReportWebViewerDetailItem ASPxWebDocumentViewer
均价 ReportViewerDetailItem ASPxDocumentViewer

要访问该视图项,请实现一个针对ReportViewer_DetailView_V2详细视图的控制器(此详细视图标识符是通过ReportsAspNetModuleV2.ReportViewDetailViewWebName常量指定的)。将View Item类型作为CompositeView.GetItems <T>方法的通用参数传递。返回列表的第一个元素将是必需的View Item,因为View中只有一个报表查看器项目。然后,您可以处理View Item的ViewItem.ControlCreated事件,并使用ReportViewer属性访问ASPxDocumentViewer或ASPxWebDocumentViewer控件。

ASPxWebDocumentViewer的示例(ReportViewerType为HTML5)

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.ReportsV2.Web;
// ...
public class CustomizeReportViewerController : ViewController<DetailView> {
    public CustomizeReportViewerController() {
        TargetViewId = ReportsAspNetModuleV2.ReportViewDetailViewWebName;
    }
    protected override void OnActivated() {
        base.OnActivated();
        ReportWebViewerDetailItem reportViewItem =  
            ((DetailView)View).GetItems<ReportWebViewerDetailItem>()[0] as ReportWebViewerDetailItem;
        reportViewItem.ControlCreated  = delegate(object sender, EventArgs e) {
            // Access client-side events of the ASPxWebDocumentViewer control
            reportViewItem.ReportViewer.ClientSideEvents.Init = 
                "function(s, e) { s.previewModel.reportPreview.zoom(0.7); }"; 
        };
    }
}

ASPxDocumentViewer的示例(ReportViewerType为ASP)

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.ReportsV2.Web;
// ...
public class CustomizeReportViewerController : ViewController<DetailView> {
    public CustomizeReportViewerController() {
        TargetViewId = ReportsAspNetModuleV2.ReportViewDetailViewWebName;
    }
    protected override void OnActivated() {
        base.OnActivated();
        ReportViewerDetailItem reportViewItem =  
            ((DetailView)View).GetItems<ReportViewerDetailItem>()[0] as ReportViewerDetailItem;
        reportViewItem.ControlCreated  = delegate(object sender, EventArgs e) {
            // Access settings of the ASPxDocumentViewer control
            reportViewItem.ReportViewer.SettingsReportViewer.PageByPage = false;
        };
    }
}
重点

编译这些示例时,需要引用DevExpress.XtraReports.v 19.2 .Web.dll程序集。

转载保留此链接,注明出处