Skip to content

Product

How to Create an RDLC Report Using Bold Reports Designer

Learn how to create your first RDLC report using Report Designer. Follow step-by-step instructions to design, configure, preview, and deploy RDLC reports.

How to Create an RDLC Report Using Bold Reports Designer

TL;DR

An RDLC report (Report Definition Language Client-side) is a Microsoft report format that lets you design reports visually and render them locally using data supplied by your application, such as business objects, .NET datasets, or JSON data, without requiring a report server. This makes RDLC reports ideal for embedded reporting and paginated document generation in .NET applications.

Introduction

If you’ve ever needed to turn an in-memory list of objects, a DataSet, or a JSON array into a professional report without setting up a database connection just to preview your layout, you’ve encountered one of the most common reporting challenges in .NET applications. RDLC reports were designed to solve this exact problem.

RDLC is a Microsoft reporting format closely related to RDL (Report Definition Language), which SSRS uses. Unlike RDL reports that are processed on a report server, RDLC reports are processed locally within the application and use data supplied at runtime.

This flexibility makes RDLC reports a popular choice for embedded reporting in .NET applications. Developers can bind reports directly to business objects, DataSets, or JSON data and create professional reports without building additional data connectors or exposing separate reporting data sources.

Developers typically create RDLC reports using either the native Visual Studio RDLC designer or a dedicated reporting solution such as Bold Reports® designer. While Visual Studio provides the basic tools required to design and edit RDLC files, Bold Reports designer offers a modern drag-and-drop interface, interactive report preview, and advanced report items.

In this tutorial, you’ll learn how to create an RDLC report using Bold Reports report designer. We’ll cover dataset creation, report design best practices, JSON data preview, parameters, and the key differences between RDLC and RDL reports.

RDLC report fundamentals

Before creating an RDLC report, it’s helpful to understand how RDLC reporting works. This makes it easier to design datasets, map fields correctly, and troubleshoot reporting issues.

How RDLC reports are processed

    • The report definition, including the layout, field bindings, formatting, and expressions, is stored in an .rdlc file.
    • At runtime, the application supplies data through a business object collection, DataTable, DataSet, or JSON data source.
    • The RDLC processing engine combines the report definition with the supplied data and renders the report locally within the application, without requiring a report server.

Why this matters

  1. No live data connection required: RDLC reports don’t store a live database connection, allowing developers to design and preview reports with sample data before connecting to production data sources.
  1. Dataset structure is critical: The dataset fields defined in the RDLC report designer must match the data the application supplies. Correct field mapping helps prevent common “report shows no data” issues.
  1. Easy to reuse across environments: Because an .rdlc file contains only the report definition, not the data, you can use the same report across development, testing, and production environments as long as the dataset structure stays consistent.

RDLC vs RDL reports: What’s the difference?

Both RDLC and RDL files are based on Microsoft’s Report Definition Language, but they differ in how reports are processed and deployed.

Feature RDLC reports RDL reports
Processing Processed locally within the application Processed by an SSRS or report server
Data source Data is supplied by the application at runtime Connects directly to configured data sources
Server requirement No report server required Requires an SSRS or compatible report server
Deployment Embedded in .NET applications Deployed and managed on a report server
Scalability Designed for local report processing within an application Designed for server-based report processing and centralized management
Management Managed within the application Centrally managed through the report server
Typical use cases Desktop applications, local reporting, embedded reporting Enterprise reporting, scheduled reports, web-based reporting

Prerequisites

For a documentation-focused walkthrough, refer to the official guide on creating RDLC reports in the standalone report designer. This tutorial expands that workflow with additional guidance for creating and deploying RDLC reports.

Step 1: Launch the Bold Reports designer

Open the Bold Reports RDLC report designer from your Windows Start menu or desktop shortcut to access the design surface, Items pane, Properties pane, and Data pane for building your report.

Bold Reports RDLC report designer
Bold Reports RDLC report designer

Step 2: Create an RDLC dataset

  1. Click the Data icon in the Report Designer to open the data configuration pane.
  2. In the data pane, click the NEW DATA option to create a new data set for your RDLC report.

    Report designer data pane
    Report designer data pane
  3. Change the data set name to Sales for this report.
  4. Add the required data fields with the appropriate data types. Here, we added the data fields ProductCategory, SubCategory, OrderYear, OrderQtr, and Sales with appropriate data types.

    Create custom data fields
    Create custom data fields
  5. After adding the required data fields, click OK. Created fields are displayed under the Sales data set in the data pane. Now the data set is ready to add in tables or visuals to the RDLC report.

    Data fields listed on a data pane
    Data fields listed on a data pane

Step 3: Add report items to the design

Add a table to the report

  1. First, let’s add a table to the design surface by dragging a table report item from the Items pane.

    Add table to report design
    Add table to report design
  2. Select the table cell and click on the Data Assign menu icon to open the menu. Select the Add Text option.

    Set text to the table header cell
    Set text to the table header cell
  3. Enter Product Category in the text area and click Add.

    Table cells' add text dialog
    Table cells’ add text dialog
  4. Select a column and right-click on the column gripper. Then insert a new column to the right of the current one.

    Insert new column in the table report item
    Insert new column in the table report item
  5. Similarly, add columns and set the headers Sub Category, Order Year, Order Qtr, and Sales.
  6. To customize the table header appearance, click on the header row gripper. The properties panel shows the common properties of header cells. To change the background color, open the color picker.

    Change the table header row background color, font, and alignment
    Change the table header row background color, font, and alignment
  7. Select the body cell and click the Data assign icon to open the data assign menu.

    Assign data to table body cell
    Assign data to table body cell
  8. Choose the required data fields for each cell. Refer to the assign data documentation to learn more.

    Data assigned to all cell of table body
    Data assigned to all cell of table body

Add report header

We are also going to add a header to the RDLC report:

  1. Right-click on the design surface and select Add Header.

    Add header to the RDLC report
    Add header to the RDLC report
  2. Click the header section and change the background color in the properties pane.

    Set background color for the report header
    Set background color for the report header
  3. Drag the TextBox report item to the header section and input the title text.
  4. Select the TextBox item and change the font properties, such as size and color, in the properties pane.

    Add header title and customize the appearance
    Add header title and customize the appearance

Step 4: Input the JSON data and view the RDLC report

To preview the report, provide sample JSON data whose property names match the fields defined in the Sales dataset. This helps validate the report layout and data mappings before connecting runtime data.

    1. Click Preview at the top-right corner of the toolbar to open the Preview Data pop-up as in the following.
      RDLC report preview data pop-up
      RDLC report preview data pop-up

      2. Clear the existing sample text and input your JSON array collection or copy and paste the following JSON data.

      The key names in the JSON array input should match the data field names used during dataset creation.

      Code
      [{"ProductCategory": "Accessories", "SubCategory": "Helmets", "OrderYear": "2002", "OrderQtr": "Q1", "Sales": 4945.6925},
      {"ProductCategory": "Components", "SubCategory": "Road Frames", "OrderYear": "2002", "OrderQtr": "Q3", "Sales": 957715.1942},
      {"ProductCategory": "Components", "SubCategory": "Forks", "OrderYear": "2002", "OrderQtr": "Q4", "Sales": 23543.1060},
      {"ProductCategory": "Bikes", "SubCategory": "Road Bikes", "OrderYear": "2002", "OrderQtr": "Q1", "Sales": 3171787.6112},
      {"ProductCategory": "Accessories", "SubCategory": "Helmets", "OrderYear": "2002", "OrderQtr": "Q3", "Sales": 33853.1033},
      {"ProductCategory": "Components", "SubCategory": "Wheels", "OrderYear": "2002", "OrderQtr": "Q4", "Sales": 163921.8870},
      {"ProductCategory": "Bikes", "SubCategory": "Road Bikes", "OrderYear": "2003", "OrderQtr": "Q2", "Sales": 4119658.6506},
      {"ProductCategory": "Clothing", "SubCategory": "Socks", "OrderYear": "2003", "OrderQtr": "Q3", "Sales": 6968.6884},
      {"ProductCategory": "Bikes", "SubCategory": "Road Bikes", "OrderYear": "2003", "OrderQtr": "Q4", "Sales": 3734891.6389},
      {"ProductCategory": "Components", "SubCategory": "Mountain Frames", "OrderYear": "2002", "OrderQtr": "Q3", "Sales": 608352.8754}]
      
      JSON array data input in the RDLC report
      JSON array data input in the RDLC report

      3. Click OK in the Preview Data dialog, and the report displays as in the following image.

      RDLC report preview with JSON data
      RDLC report preview with JSON data

      4. Click Close Preview. Select the save icon in the toolbar to save a copy of the report design to your local machine.

      Refer to the guide on viewing, printing, and exporting RDLC reports in your application for instructions on rendering RDLC reports and enabling export functionality using local objects, business objects, and datasets.

      Save report to local path
      Save report to local path

      5. To export the report, use the available export options supported by your report viewer or deployment environment.

      • Choose the required format, such as PDF, Word, or Excel.
      • Review the exported report to ensure page breaks, formatting, fonts, and layouts render as expected across different output formats.

How do parameters work in RDLC reports?

RDLC report parameters enable users to filter and customize report data at runtime without modifying the report design. You can configure parameters with properties such as a name, prompt, data type, default values, and available values. To control the displayed data, the parameter must be applied in a filter, expression, or visibility setting within the report.

For example, a ProductID parameter can be used to filter the dataset and display only the product records that match the value selected by the user, improving report relevance and usability.

For a step-by-step guide to creating and configuring RDLC report parameters, refer to our guides on how to add report parameters to a report and adding report parameters to your report using Bold Reports designer.

Using expressions for dynamic RDLC reports

Expressions are a key part of RDLC report design, enabling calculated fields, dynamic text, conditional formatting, and aggregations without changing the dataset.

Common examples include:

    • Conditional formatting: Highlight a cell red when Sales falls below a specified threshold.
    • Calculated fields: Display values such as Sales * TaxRate without adding a separate dataset field.
    • Aggregates: Show running totals or grand totals using Sum expressions.
    • Dynamic text: Create headers like Sales Report – 2026 based on parameter selections.

Because RDLC reports use the same expression language as RDL and SSRS reports, our SSRS expressions cheat sheet can serve as a practical reference for aggregate, formatting, string, and conditional expressions in RDLC report design.

Practical RDLC reporting scenarios & examples

RDLC reports can support a variety of business reporting needs within .NET applications. Common examples include:

  1. Sales summary reports: Display sales data by category, product, region, or period, with calculated totals and summary metrics for reporting and review.
  2. Invoice and statement reports: Generate pixel-perfect invoices, receipts, billing statements, and other customer-facing documents with dynamic data and branding.
  3. Master-detail reports: Present hierarchical data, such as orders and their corresponding line items, in a clear and organized format. Our guide on creating master-detail reports explains this approach in greater detail.
  4. Inventory and operational reports: Monitor stock levels, inventory movements, production output, and operational activities using structured paginated reports that can be exported, printed, and shared.
  5. Multi-format export reports: Create reports once and export them to PDF, Word, and Excel while maintaining consistent formatting and usability across formats.

Why does an RDLC report show no data? Common issues and fixes

An RDLC report usually shows no data when the field names in the report dataset do not exactly match the names in the data you supply. Compare the dataset fields with your JSON keys, DataTable columns, or business object properties, including spelling and case, then reload the preview.

The following troubleshooting tips can help you quickly identify and resolve the most common RDLC report design problems.

  1. RDLC report displays no data: This typically occurs when dataset field names do not match the field names in the preview JSON or runtime data source. Verify that all field names match exactly.
  2. A report column appears blank: Ensure the report cell is properly bound to a dataset field. Unassigned cells can occur when new columns are added after the initial data-binding setup.
  3. RDLC report preview works, but live data does not display: Compare the dataset schema with your DataTable columns or business object properties. The field names must match exactly for successful data binding.
  4. Report formatting or header styles are not applied correctly: Apply styles at the row or section level when formatting shared report elements, rather than formatting individual cells separately.
  5. Dates, currency, or numbers display incorrectly: Use formatting properties or expressions to control how values are displayed instead of relying solely on the dataset field type.
  6. Report layout changes after exporting to PDF, Word, or Excel: Test export formats throughout the design process, as page breaks, column widths, and fonts may render differently from the report preview.
  7. Report parameters do not filter data correctly: Verify that the parameter is referenced in a dataset filter or expression. Creating a parameter alone does not automatically filter report data.

RDLC report design best practices checklist

Follow these best practices to create maintainable, high-performing, and user-friendly RDLC reports:

    • Define dataset fields early: Ensure dataset field names and data types match your actual data source before investing time in report layout design.
    • Preview with representative data: Test reports frequently using realistic sample data instead of waiting for a live data source.
    • Apply consistent styling: Format header rows, groups, and shared elements at the row or group level rather than styling individual cells repeatedly.
    • Use meaningful parameter names: Keep parameter names aligned with the dataset fields they filter for better readability and easier maintenance.
    • Test all export formats: Verify report layouts in PDF, Word, and Excel, not just the report designer preview.
    • Version your RDLC files: Save incremental versions of the .rdlc file or use source control before making significant layout changes.
    • Document complex expressions: Record the purpose of conditional formatting, calculated fields, and other non-obvious expressions to help future report authors maintain the report.

Should you use Visual Studio or Bold Reports designer for RDLC reports?

Regardless of the design tool used, RDLC reports require runtime data binding. In production applications, developers typically retrieve data using C#, populate a DataTable, DataSet, or business object collection, and pass that data to the RDLC report during rendering. For a complete implementation example, see our guide on RDLC reports in ASP.NET Core with Report Viewer.

Capability Visual Studio RDLC designer Bold Reports designer
RDLC design Yes Yes
Works inside a Visual Studio solution Yes No
Standalone designer No Yes
Setup Visual Studio with the Microsoft RDLC Report Designer extension Standalone report designer installed on Windows
Runtime data binding Required Required

Next steps: RDLC reporting resources and guides

After creating and previewing your first RDLC report, explore more advanced reporting concepts and implementations. If you want to integrate reports into a production application, check out RDLC reports in ASP.NET Core with Report Viewer, which explains how to render and display RDLC reports in ASP.NET Core applications. For more advanced layouts, the SSRS Tablix data region guide covers tables, matrices, lists, and data grouping in detail, concepts that also apply to RDLC reports.

Organizations migrating from legacy reporting platforms can also review our guide on converting Crystal Reports to RDL, which provides valuable insights into RDL fundamentals and migration considerations. You can also explore the Bold Reports live demos to interact with real report samples and export options.

Conclusion

Once your RDLC report is designed and validated, the next step is to integrate it with an RDLC Report Viewer to render, print, filter, and export reports directly within your .NET application.

Ready to create and deploy RDLC reports faster? Start a 30-day free trial, request a personalized demo, or watch our tutorial to discover how Bold Reports simplifies RDLC report design, deployment, and management for .NET reporting applications.

Frequently asked questions

    1. 1.

      Do I need a database to design an RDLC report?

      No. You can design and preview an RDLC report using sample data such as JSON arrays, DataTables, DataSets, or business objects without connecting to a live database. This lets you build and validate report layouts early in development, before integrating production data sources.

    2. 2.

      How do I bind JSON data to an RDLC report for preview?

      Open the Preview Data dialog in the report designer and provide a JSON array that matches the dataset schema defined in the report. The JSON property names must match the dataset field names exactly. Once loaded, you can instantly preview and validate the report output without writing application code.

    3. 3.

      Can RDLC reports connect to a SQL database?

      Yes. Although an RDLC report does not directly store data source connections, your application can retrieve data from SQL Server or other databases and pass it to the report at runtime as a DataTable, DataSet, business object collection, or other supported data structure.

    4. 4.

      What report items can I add to an RDLC report?

      RDLC reports support a wide variety of report items, including tables, matrices, lists, text boxes, charts, gauges, images, and report headers or footers. These elements enable developers to create everything from simple tabular reports to complex business reports and formatted documents.

    5. 5.

      How do I add parameters to an RDLC report?

      Create a report parameter in the designer, assign an appropriate data type, and configure prompts or default values as needed. You can then reference parameters in filters, expressions, and visibility settings, allowing users to customize report output dynamically without modifying the report layout.

    6. 6.

      Can I use expressions in an RDLC report?

      Yes. RDLC reports support expressions for calculations, conditional formatting, aggregations, string manipulation, and dynamic text generation. Because RDLC uses the same expression language as SSRS and RDL reports, developers can use familiar functions to create calculated fields, apply business rules, and display dynamic report values.

    7. 7.

      Is the Bold Reports Designer free to try?

      Yes. Bold Reports offers a free trial that includes access to the standalone report designer used in this tutorial. The trial lets you create, preview, export, and evaluate RDLC reports and related reporting features before choosing a subscription plan for production use.

Meet the author

Shirley is a content writer at Syncfusion, specializing in reporting solutions. She creates clear, insight-driven content that simplifies complex reporting concepts, helping readers understand features, implementation approaches, and best practices in Bold Reports. Her work enables developers and business users to make confident, data-driven decisions through practical guidance.

Newsletter

Reporting insights, in your inbox

New posts on embedded reporting, SSRS and Crystal Reports migration, and product updates. No spam.

Keep reading

8 min read

MIS Reports: Benefits, Types, Key Components, and Preparation Steps

This blog will walk you through MIS reports, what are they, their benefits, types, key components, and steps for preparing them using the Bold Reports® reporting tool. What are MIS reports? A management information system (MIS) report is a document that provides information to support decision-making and management activities within an organization.

Arulraj A
6 min read

How to Apply Alternating Row Colors in an SSRS Tablix

Many organizations use SSRS to work with large amounts of data. But as reports get bigger, they can become harder to read. One simple way to improve clarity is by applying alternating row colors. This technique helps users quickly scan through rows and spot patterns more easily.

Eunice Damaris Akinyi

All blog posts

Ready to Get Started?

Ready to Modernize Reporting the Modern Way?

From migrating legacy reports to embedding reporting in applications, Bold Reports helps you move forward with confidence.

No credit card required.