devexpress-reporting-blazor

Integrates DevExpress report viewer and designer components into Blazor applications.

Updated Dec 11, 2025
One-click install
npx skills add https://github.com/AleksaRistic216/dotnet-playground --skill devexpress-reporting-blazor-aleksaristic216
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: devexpress-reporting-blazor
Source: https://github.com/AleksaRistic216/dotnet-playground/tree/main/.github/skills/reporting/devexpress-reporting-blazor
Command: npx skills add https://github.com/AleksaRistic216/dotnet-playground --skill devexpress-reporting-blazor-aleksaristic216

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Adding DevExpress reporting to Blazor apps involves choosing among five components across three API families, matching them to the correct hosting model, registering the right services and controllers, and avoiding silent runtime failures from mixed C#/JavaScript APIs or wrong project placement. ## Core Features & Use Cases - Guided component selection: Decision gates map hosting mode (Static, Interactive Server, WebAssembly Standalone, Client+Server, Auto) and user needs to the correct component (DxReportViewer, DxDocumentViewer, DxReportDesigner, DxWasmDocumentViewer, DxWasmReportDesigner). - Scenario-specific setup references: Hosting-mode-specific getting-started guides, customization references for native and JS-based components, and report name resolution via IReportProvider or ReportStorageWebExtension. - Anti-pattern validation: A 24-item checklist catches render mode mistakes, service registration conflicts, missing designer controllers, and untrusted custom data source types before code generation. - Use Case: A developer asks to add a report designer to an Interactive WebAssembly Blazor app; the skill detects the configuration, routes to the correct reference, places the page in the client project, registers services on the server, and adds all three required controllers. ## Quick Start Add a DevExpress report viewer to my Blazor Server app and wire it to an existing report class.

Frequently Asked Questions about devexpress-reporting-blazor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a DevExpress report viewer to a Blazor app?

Choose DxReportViewer for native C# customization or DxDocumentViewer for JavaScript-based viewing, then register the matching service (AddDevExpressServerSideBlazorReportViewer or AddDevExpressBlazorReporting) in Program.cs and add DxResourceManager.RegisterScripts in App.razor. The page must use an interactive render mode.

DxReportViewer vs DxDocumentViewer: which should I use?

DxReportViewer is a native Blazor component customized in C# with no MVC controllers required. DxDocumentViewer is JS-based, offers mobile support and a rich export panel, but requires a WebDocumentViewerController and JavaScript callbacks.

Does DevExpress reporting work in Blazor static render mode?

No. All DevExpress reporting components require an interactive render mode such as InteractiveServer or InteractiveWebAssembly. Static render mode is not supported, and DxReportViewer additionally does not support Interactive Auto mode.

Why is my Blazor report viewer blank or showing 'Service not registered'?

A blank viewer usually means a missing @rendermode directive or DxResourceManager.RegisterScripts placed outside App.razor. 'Service not registered' means the wrong registration method was used for the component family or hosting mode.

How do I filter export formats in the DevExpress Blazor document viewer?

Use the CustomizeExportOptions JavaScript callback with e.HideFormat(ExportFormatID.XLS) to remove formats from the Export To dropdown. CustomizeMenuActions only controls toolbar button visibility and does not filter export formats.

What controllers does the Blazor report designer require?

Designer components require three controllers: WebDocumentViewerController, ReportDesignerController, and QueryBuilderController. Missing any of them causes runtime failures in the data source wizard or save/load dialogs even though the build succeeds.