devexpress-reporting-winforms

Integrate DevExpress report print preview and end-user designer into WinForms applications.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Embedding report viewing and editing into a WinForms application requires navigating DevExpress licensing tiers, NuGet packages, and multiple APIs (ReportPrintTool, ReportDesignTool, DocumentViewer, XRDesignForm). This Skill guides developers through the correct approach for their license and framework, avoiding common pitfalls like missing CreateDocument calls or wrong package references. ## Core Features & Use Cases - Print Preview Integration: Show ribbon or standard print preview dialogs, or embed a DocumentViewer control directly in a form, with CachedReportSource support for large reports. - End-User Report Designer: Launch the designer via ReportDesignTool (Reporting subscription) or embed XRDesignRibbonForm/RibbonReportDesigner components (WinForms subscription), including save/load storage wiring. - Customization & Deployment: Customize preview and designer toolbars, handle silent printing, and configure projects for .NET 6+ or .NET Framework 4.6.2+. - Use Case: A developer needs to add a report preview button and an embedded report designer to an existing .NET 8 WinForms app; the Skill provides the exact NuGet packages, license checks, and working C# or VB.NET code. ## Quick Start Ask the AI to add a DevExpress report print preview and end-user designer to your WinForms application, specifying your target framework and DevExpress subscription type.

Frequently Asked Questions about devexpress-reporting-winforms

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

FAQPage Schema
How do I show a report print preview in a WinForms app?

Use ReportPrintTool from the DevExpress.Win.Reporting package: create the tool with your report and call ShowRibbonPreviewDialog for a modal ribbon preview or ShowPreview for a standard toolbar. For an embedded viewer, place a DocumentViewer control in your form and call report.CreateDocument() after assigning DocumentSource.

How do I embed the DevExpress end-user report designer in WinForms?

With a Reporting subscription, use ReportDesignTool and call ShowRibbonDesignerDialog. With a WinForms subscription, install DevExpress.Win.Design and embed RibbonReportDesigner or subclass XRDesignRibbonForm, then call OpenReport with your report instance.

What is the difference between ReportDesignTool and XRDesignForm?

ReportDesignTool launches the default designer form and works with a Reporting subscription only. XRDesignForm and XRDesignRibbonForm are embeddable designer forms requiring the WinForms subscription and the DevExpress.Win.Design package, offering full customization of the designer UI.

Why does my DocumentViewer show a blank report?

A blank DocumentViewer usually means CreateDocument() was not called after assigning DocumentSource, or the report has no data or no DetailBand. Set the report DataSource, ensure a DetailBand exists, then call report.CreateDocument() or CreateDocumentAsync().

Does DevExpress WinForms Reporting support .NET 8?

Yes, DevExpress.Win.Reporting v26.1+ targets .NET 6 and later, including .NET 8, as well as .NET Framework 4.6.2+. For .NET 6+ projects, set UseWindowsForms to true in the csproj file and reference the NuGet packages from nuget.devexpress.com.

How do I handle very large reports in the WinForms viewer?

Wrap the report in a CachedReportSource with a MemoryDocumentStorage or FileDocumentStorage, assign it as the DocumentViewer DocumentSource, and call CreateDocumentAsync. This avoids loading the entire generated document into memory at once.