devexpress-visual-studio-rider-report-design

Generate designer-serializable XtraReport layout code for Visual Studio and JetBrains Rider.

39|7|Updated Jun 2, 2026
One-click install
npx skills add https://github.com/DevExpress/agent-skills --skill devexpress-visual-studio-rider-report-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: devexpress-visual-studio-rider-report-design
Source: https://github.com/DevExpress/agent-skills/tree/main/plugins/dx-reporting/skills/devexpress-visual-studio-rider-report-design
Command: npx skills add https://github.com/DevExpress/agent-skills --skill devexpress-visual-studio-rider-report-design

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill eliminates the frustration of broken DevExpress XtraReport designers caused by incorrect layout code, and reduces hallucinations and API errors when working with DevExpress reporting components in Visual Studio or JetBrains Rider.

Core Features & Use Cases

  • Designer-Compatible Code Patterns: Provides exact, validated patterns for InitializeComponent() structure, band hierarchy, control placement, and serialization order that match what the Visual Studio and JetBrains Rider Report Designers require, so reports open correctly every time.
  • Complete Data Binding & Expression Guidance: Covers ExpressionBindings (the only supported binding API), Criteria Language syntax for expressions and summaries, data source setup (including master-detail relations), and parameter configuration for dynamic reports.
  • IDE-Specific Troubleshooting: Includes guidance for common issues like JetBrains Rider's requirement to reopen reports after code changes, Visual Studio Report Design Analyzer usage, and fixes for common designer errors.
  • Use Case: For example, if a developer needs to add a grouped sales table with per-group subtotals to an existing XtraReport, or fix a report that fails to open in the Rider designer due to misplaced layout code, this Skill provides the exact rules and code patterns to resolve the issue quickly.

Quick Start

Use this skill to generate a correct designer-compatible C# report layout file for a new invoice report with tabular line items, bound to a SQL data source, that works seamlessly in both Visual Studio and JetBrains Rider report designers.

Frequently Asked Questions about devexpress-visual-studio-rider-report-design

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

FAQPage Schema
Why does my DevExpress XtraReport fail to open in the Visual Studio designer?

XtraReport layout code fails to open in the visual designer when InitializeComponent serialization patterns are incorrect, which requires fixing band hierarchy, control placement, and expression bindings to restore designer compatibility.

How do I add expression bindings to an XtraReport layout in C#?

To add expression bindings to an XtraReport layout, you must use the ExpressionBindings API with correct Criteria Language syntax, configuring the data source and parameters directly within the C# designer file for dynamic reporting.

Can I edit DevExpress XtraReport layouts using JetBrains Rider?

Yes, you can edit XtraReport layouts in JetBrains Rider, but you must follow IDE-specific troubleshooting steps like reopening reports after code changes to ensure the designer serializes the bands and controls correctly.

How do I configure bands and data sources for a new DevExpress report subclass?

To configure bands and data sources for a new XtraReport subclass, generate designer-serializable C# code using the correct InitializeComponent ordering and master-detail relations to ensure the report opens seamlessly in the visual designer.

What is the correct InitializeComponent ordering for DevExpress XtraReports?

The correct InitializeComponent ordering for XtraReports strictly follows DevExpress serialization patterns, sequentially configuring data sources, parameters, bands, controls, and expression bindings to prevent designer deserialization errors.