Major Release

What's New in
ReoGrid V4

16 major features — from lazy loading for 1M+ rows to full WPF parity, Excel-compatible formatting, conditional styles, and much more.

16

Major Features

1M+

Rows with Lazy Loading

WPF

Full Feature Parity

Excel

Format Compatibility

All New Features

A deep dive into every major feature and improvement shipped in ReoGrid V4.

01

Ultra-fast Data Loading

New Lazy Loading feature loads only the minimum required data initially, then streams in more as you scroll. Even 1 million rows render in a few hundred milliseconds.

// Set worksheet row count (e.g., 1 million rows)
worksheet.SetRows(1000000);

// Set data source in lazy loading mode
worksheet.AddDataSource(
  new RangePosition(0, 0, 1000000, 10),
  new MyDataSource(logs),
  DataSourceLoadMode.LazyLoading
);
🏷️
02

Multi-row Headers

Column headers now support multiple rows with cell merging — perfect for category grouping and complex heading layouts.

var extensionHeader = worksheet.ExtensionColumnHeader;
extensionHeader.SetRowCount(3);
extensionHeader.MergeCells(0, 1, 2, 1);
extensionHeader[0, 1].Text = "Category";
🖥️
03

Major WPF Enhancements

Almost all features previously only available in WinForms are now fully supported in WPF — including dropdown lists, improved drawing speed, and stability on par with WinForms.

🔌
04

Flexible Data Source Mechanism

Bind and display data from databases, files, or APIs using the IDataSource<T> interface for any data type or structure.

var ds = new MyDataSource();

// Add data source to worksheet
sheet.AddDataSource("A1:G30", ds);
🔽
05

Enhanced DropdownListCell

Dropdown lists now accept a worksheet cell range as the list source — enabling dynamic, real-time option selection from master data.

var myRange = sheet1.Ranges["G1:G3000"];
var dropdownList1 = new DropdownListCell(myRange);
sheet1.Cells["A1"].Body = dropdownList1;
🎨
06

Excel-compatible Custom Formatting

Support for Excel-style custom format strings with colors, separators, and per-sign formatting for numbers, currency, and dates.

cell1.DataFormat = CellDataFormatFlag.Number;
cell1.DataFormatArgs = "#,##0;[Red]-#,##0";
📑
07

Enhanced Outline (Grouping)

Outline expand/collapse buttons can now appear above or below rows. The API also supports programmatic collapse and expand of all groups.

sheet.OutlineButtonLocation = OutlineButtonLocation.Top;

var outlineGroup = sheet.GetOutlineGroup(RowOrColumn.Row, 0);
outlineGroup.CollapseAll();
outlineGroup.ExpandAll();
🚀
08

Drawing Performance Improvements

More precise visible-area detection, faster update checks, and minimized drawing delays for scrolling, selection, and editing — smooth even with millions of rows.

🔍
09

Custom Conditional Filters

Build flexible conditional filters programmatically — combine multiple conditions to powerfully filter worksheet data.

var filter = new ConditionalDataFilter();
var condition = new FilterCondition(
  2, ConditionOperator.NotEquals, "USD");
filter.Conditions.Add(condition);
sheet.DoFilter("A1:G30", filter);
🔎
10

Enhanced String Search

Workbook-wide keyword search with highlighting and next/previous navigation — ideal for quickly finding data in large datasets.

var session = new HighlightTextSearchSession(
  Workbook, txtKeyword.Text,
  Workbook.CurrentWorksheet);
session.Search();
session.MarkAllResultHighlight(SolidColor.Goldenrod);
session.NextMatch();
🎯
11

Conditional Styles

Automatically apply styles based on cell values using formulas. Use THIS to reference the current cell value for dynamic visualization.

var rule1 = new Rule(
  "THIS > 1000", "A1:Z30",
  new WorksheetRangeStyle {
    Flag = PlainStyleFlag.TextColor,
    TextColor = SolidColor.Yellow,
  });
sheet.ConditionalStyles.Add(rule1);
🔒
12

Enhanced Cell Locking

Three-level locking — sheet, range, or individual cells. Fine-grained control for business forms and input-restricted applications.

// Lock all cells
sheet.IsLocked = true;

// Unlock only C5
sheet.Cells["C5"].IsLocked = CellLock.Unlocked;
🧮
13

Floating Point Precision Correction

Automatically corrects minor floating-point errors — no more "3.00000000000004" in business calculations.

sheet.Options.FormulaCalculationPrecision =
  FormulaCalculationPrecision.LowPrecision;
🧪
14

WinAppDriver UI Testing

Official support for automated UI testing with WinAppDriver. Assign AutomationIds and run regression tests in code.

ReoGridControl.EnableUIAutomation = true;

var reoGrid = session
  .FindElementByClassName("ReoGridControl");
reoGrid.Click();
📄
15

Zero-Row / Zero-Column Worksheets

Worksheets can now start completely empty (0 rows x 0 columns) and grow dynamically as data is added.

worksheet.SetRows(0);
📐
16

More Built-in Formulas

Expanded library of built-in functions and formulas for more complex and practical calculations — closer to full Excel parity.

Licensing & Editions

Starting with V4, ReoGrid is offered as a commercial licensed product. ReoGrid V3 remains available as open-source under the MIT license.

Professional Edition

Up to 3 devices, 1 month of technical support

Enterprise Edition

Unlimited devices, 3 months of technical support

Support Services

Paid support services are available as monthly subscriptions to help your team get the most out of ReoGrid.

Technical Support

Usage consultation, sample code, troubleshooting and issue resolution.

Development Support

Implementation proposals, customization, environment-specific support, and ongoing partnership via Slack.

Ready to upgrade to V4?

Get started with the latest features, performance improvements, and full WPF support.