devexpress-reporting-core

Generates DevExpress XtraReports runtime code for building, binding, and exporting .NET reports.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing DevExpress XtraReports code from general knowledge leads to deprecated APIs, wrong expression function names, and layout bugs. This Skill provides verified patterns, constraints, and references for the XtraReports runtime API so generated report code compiles and renders correctly. ## Core Features & Use Cases - Programmatic Report Construction: Create XtraReport instances with bands (DetailBand, GroupHeaderBand), controls (XRLabel, XRTable, XRChart), and correct add-before-set ordering. - Data Binding & Expressions: Bind reports to IList, DataTable, SqlDataSource, or JSON sources using ExpressionBindings, calculated fields, parameters, and the sum*() summary function family. - Export to Multiple Formats: Export reports to PDF, XLSX, DOCX, CSV, HTML, and images with ExportOptions classes, sync/async methods, and streaming for large documents. - Use Case: Ask the AI to build a grouped product report with category subtotals exported to PDF, and receive correct C# code using XRTable layouts, XRSummary aggregates, and availableWidth-based sizing. ## Quick Start Ask the AI to create a DevExpress XtraReport in C# that binds a list of products to a table layout, groups rows by category with subtotals, and exports the result to a PDF file.

Frequently Asked Questions about devexpress-reporting-core

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

FAQPage Schema
How do I create a DevExpress XtraReport in code?

Create an XtraReport instance, assign its DataSource, add a DetailBand to report.Bands, then add controls like XRLabel or XRTable to the band. Set size properties after adding controls to their parent, then call ExportToPdf or another ExportTo method.

How do I add a group subtotal to an XtraReport?

Add a GroupFooterBand, place an XRLabel in it, and set label.Summary to a new XRSummary with Running set to SummaryRunning.Group. Then bind with an ExpressionBinding using sumSum([Field]) or set Summary.Func to SummaryFunc.Sum with a FormatString.

Does XtraReports work on Linux or macOS?

Yes, the runtime API works cross-platform on .NET 6 or later. For PDF export on Linux or macOS, you must add the DevExpress.Drawing.Skia NuGet package to enable PDF rendering.

Why does my report throw Incorrect band type at runtime?

This happens when you call Bands.Add(new DetailBand()) in a designer-backed report class. InitializeComponent already creates DetailBand, TopMarginBand, and BottomMarginBand, so reuse the existing designer fields instead of adding duplicates.

Why is my exported PDF file empty?

An empty export usually means the DataSource is null or returns no records. Verify the data source returns data before export, and remember that .repx layout files do not store data, so re-assign DataSource after loading a layout.

Should I use DataBindings or ExpressionBindings in XtraReports?

Always use ExpressionBindings with the three-argument form new ExpressionBinding("BeforePrint", "Text", "[Field]") for new reports. DataBindings is the legacy binding mode and should only appear when maintaining older reports.