You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中DxReportViewer显示异常:图标过大且无内容

解决Angular中dx-report-viewer图标过大且无内容的问题
  • 检查样式引入完整性
    必须在angular.json中正确引入对应版本的DevExpress报表样式文件,缺失或版本不匹配会直接导致图标和布局异常:

    "styles": [
      "node_modules/devextreme/dist/css/dx.light.css",
      "node_modules/@devexpress/analytics-core/dist/css/dx-analytics.common.css",
      "node_modules/@devexpress/analytics-core/dist/css/dx-analytics.light.css",
      "node_modules/@devexpress/analytics-core/dist/css/dx-querybuilder.css",
      "node_modules/devexpress-reporting/dist/css/dx-webdocumentviewer.css"
    ]
    

    注意所有样式文件版本要与你安装的22.2.4完全一致。

  • 设置视图容器明确尺寸
    dx-report-viewer依赖固定尺寸的容器才能正常渲染内容,在组件CSS中为容器设置宽高:

    .report-viewer-container {
      width: 100%;
      height: 80vh;
    }
    

    同时在HTML中将查看器嵌套进该容器:

    <div class="report-viewer-container">
      <dx-report-viewer [reportUrl]="reportUrl" [height]="'100%'" [width]="'100%'">
        <dxrv-request-options [invokeAction]="'/DXXRDV'"></dxrv-request-options>
      </dx-report-viewer>
    </div>
    
  • 验证脚本加载顺序
    脚本加载顺序错误会导致组件功能异常,在angular.json的scripts数组中按以下顺序配置:

    "scripts": [
      "node_modules/jquery/dist/jquery.min.js",
      "node_modules/knockout/build/output/knockout-latest.js",
      "node_modules/devextreme/dist/js/dx.all.js",
      "node_modules/@devexpress/analytics-core/dist/js/dx-analytics-core.js",
      "node_modules/devexpress-reporting/dist/js/dx-webdocumentviewer.js"
    ]
    
  • 确认服务端端点配置
    即使打印窗口显示正常,也要检查服务端的报表处理端点(如示例中的/DXXRDV)是否配置正确,确保客户端能正常获取报表渲染所需的数据。

  • 清除缓存重启项目
    旧缓存可能引发样式冲突,执行以下命令清除缓存后重启项目:

    ng cache clean
    ng serve --open
    

内容的提问来源于stack exchange,提问作者E. Zahra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:31:39