ModernDataGridView.WinForms 2.0.0

dotnet add package ModernDataGridView.WinForms --version 2.0.0
                    
NuGet\Install-Package ModernDataGridView.WinForms -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ModernDataGridView.WinForms" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ModernDataGridView.WinForms" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="ModernDataGridView.WinForms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ModernDataGridView.WinForms --version 2.0.0
                    
#r "nuget: ModernDataGridView.WinForms, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ModernDataGridView.WinForms@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ModernDataGridView.WinForms&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=ModernDataGridView.WinForms&version=2.0.0
                    
Install as a Cake Tool

ModernDataGridView.WinForms

NuGet Version NuGet Downloads License: MIT .NET Target .NET Framework Target

Stop fighting the legacy DataGridView. Upgrade to a blazing-fast, hardware-accelerated data table with built-in Pagination, Sparklines, Conditional Formatting, and PDF/CSV Export.

ModernDataGridView Demo (Theme And Style)

ModernDataGridView Demo

ModernDataGridView Demo (Pagination Features)

ModernDataGridView Demo

ModernDataGridView Demo


🛑 The Problem with the Standard DataGridView

The default WinForms DataGridView was built over 20 years ago. It flickers constantly, freezes the UI with large datasets, looks terrible on modern OS themes, and requires massive commercial libraries just to add basic features like Pagination, Footer Summaries, or Data Export.

🟢 The Podargus Solution

ModernDataGridView.WinForms is a complete, zero-dependency rewrite of the data table. Engineered from the ground up using pure GDI+ vector graphics, it delivers an enterprise-grade presentation layer that is incredibly fast, visually stunning, and highly functional out of the box.


📦 Installation

Package Manager Console

Install-Package ModernDataGridView.WinForms

.NET CLI

dotnet add package ModernDataGridView.WinForms

📖 Comprehensive Feature Guide & API

1. Async Data Binding & Pagination

Bind to any IEnumerable, List<T>, or DataTable. It uses heavily optimized, thread-safe reflection (compatible with .NET 6/8 AOT Trimming) to load 100,000+ rows asynchronously without freezing your UI.

using Podargus.UI.Controls.WinForms.DataGrid;
using Podargus.UI.Controls.WinForms.DataGrid.Enums;

var grid = new ModernDataGridView
{
    Dock = DockStyle.Fill,
    Theme = ThemeMode.Dark,
    Style = DataGridStyle.DashboardPremium,
    AllowPagination = true,
    PageSize = 50
};

// Bind directly to a list of objects; background threads handle the rest!
grid.DataSource = myServerDataList; 
this.Controls.Add(grid);

2. In-Cell Analytics (Sparklines & DataBars)

Turn standard numeric columns into beautiful in-cell graphics without writing custom CellPainting events.

using Podargus.UI.Controls.WinForms.DataGrid.Enums;

// Convert a numeric column into a smooth DataBar
var cpuCol = grid.Columns.FirstOrDefault(c => c.Name == "CpuLoad");
cpuCol.ColType = ColumnType.DataBar;
cpuCol.MinValue = 0;
cpuCol.MaxValue = 100;

// Convert a comma-separated string column ("10,45,20,90") into a vector Sparkline graph
var pingCol = grid.Columns.FirstOrDefault(c => c.Name == "PingHistory");
pingCol.ColType = ColumnType.Sparkline;

3. Conditional Formatting

Highlight critical rows automatically based on cell values:

using Podargus.UI.Controls.WinForms.DataGrid.Models;
using System.Drawing;

// If "Status" equals "Offline", make the whole row Crimson Red
grid.FormatRules.Add(new FormatRule
{
    ColumnName = "Status",
    Operator = "==",
    Value = "Offline",
    BackColor = Color.FromArgb(230, 57, 70), 
    ForeColor = Color.White
});

Instantly calculate aggregates (Sum, Avg, Min, Max, Count) at the bottom of the grid.

grid.Summaries.Add(new ColumnSummary { ColumnName = "CpuLoad", SummaryType = SummaryType.Avg });
grid.Summaries.Add(new ColumnSummary { ColumnName = "ServerID", SummaryType = SummaryType.Count });

5. Multi-Column Header Bands

Group related columns under a shared parent header (Band).

grid.Bands.Add(new Band 
{ 
    Name = "Hardware Metrics", 
    Columns = new List<string> { "CpuLoad", "MemoryUsage" } 
});

6. Master-Detail Row Expansion

Allow users to right-click a row and select "Expand Details" to reveal a custom sub-panel for charts or extra data.

// 1. Reserve 80 pixels of vertical space when a row is expanded
grid.GetRowDetailsHeight += (rowIndex) => 80;

// 2. Draw your custom UI inside that reserved space
grid.DrawRowDetails += (Graphics g, Rectangle rect, int rowIndex) =>
{
    var rowData = grid.GetRowData(rowIndex);
    g.FillRectangle(Brushes.DarkSlateGray, rect);
    g.DrawString($"Detailed analytics for {rowData[0]}", grid.Font, Brushes.White, rect.X + 10, rect.Y + 10);
};

7. Frozen Columns

Pin columns to the left side so they remain visible during horizontal scrolling.

// Freeze the first column (e.g., Server ID)
grid.FrozenColumnCount = 1; 

8. Built-In Export Engine (PDF, CSV, JSON, XML)

Zero dependencies required. Users can right-click to export, or you can trigger it programmatically.

// Opens a Save File dialog to let the user export the current view
grid.ShowExportDialog(DataFormat.PDF);

// Or export silently in the background
grid.ExportData("C:\\reports\\data.csv", DataFormat.CSV);

9. Native Clipboard, Context Menus & Keyboard Shortcuts

Your users expect standard spreadsheet controls. The grid natively handles:

  • Right-Click Menus: Sort Ascending/Descending, Hide Columns, Expand Details, Export Data.
  • Shortcuts: Ctrl + C (Copy), Ctrl + V (Paste), Ctrl + Z (Undo), Ctrl + Y (Redo).
  • Navigation: Arrow Keys for fluid row scrolling.

🎨 Theme & Style Matrix

Design Style Aesthetic Concept Key Visual Characteristics
DashboardPremium Modern Executive Suite Sleek rounded slate surfaces with subtle blue/cyan highlights (Default).
FluentGlass Windows 11 Fluent Translucent glass container with electric cyan accents and smooth hover states.
MaterialFlat Elevated Material Flat Sharp, minimalist grid lines with deep purple/indigo selection tokens.
SoftNeumorphic Soft Embossed Surfaces Organic, borderless data rows with warm coral/orange accent colors.
Cyberpunk High-Voltage Industrial Stealth black table with high-contrast glowing neon emerald and cyan focus rectangles.

⚙️ Specifications

Technical Metric Underlying Architecture Profile
Package Identity ModernDataGridView.WinForms
Component Type Hardware-Accelerated Custom DataGrid Control
Language Target C# (Optimized for .NET Framework 4.7.2+ & .NET 6.0/8.0+)
Rendering Engine Anti-Aliased Surface Vector Paint Mapping (GDI+)
Target Platforms Microsoft Windows Desktop Environment (WinForms)
Dependencies None (System.Windows.Forms Base Assembly Only)

📄 License

Distributed under the MIT License. See the repository LICENSE file for details.


📝 Release Notes

v2.0.0

  • Rebrand: Transitioned under Podargus (formerly GRIT).
  • Namespace: Root namespace updated to Podargus.UI.WinForms.
  • Performance: Performance and rendering pipeline stability enhancements.

Developed under the Podargus

Building zero-dependency, ultra-performance developer workflows and premium component layouts.

📢 Brand Notice: This package has officially transitioned from GRIT to Podargus. All future updates, performance enhancements, and developer tooling are maintained under the official Podargus.

Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
.NET Framework net472 is compatible.  net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.7.2

    • No dependencies.
  • .NETFramework 4.8

    • No dependencies.
  • net6.0-windows7.0

    • No dependencies.
  • net8.0-windows7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 92 9/20/2026
1.0.1 97 9/18/2026
1.0.0 91 9/17/2026

v2.0.0 Release:
- Rebrand:Transitioned under Podargus (formerly GRIT).
- Namespace: Root namespace updated to `Podargus.UI.WinForms`.
- Performance and rendering pipeline stability enhancements.