ObjectListView is a .NET ListView wired on caffeine, guarana and steroids. More calmly, it is a C# wrapper around a .NET ListView, which makes the ListView much easier to use and teaches it lots of neat new tricks.
$ dotnet add package AlphaOmega.ObjectListViewObjectListView is an enhanced Windows Forms ListView replacement for displaying and editing rich tabular object data with minimal boilerplate. It adds strong typing, data binding helpers, virtual mode data sources, filtering, grouping, sorting, column formatting, cell editing and custom rendering (images, progress bars, checkboxes) while remaining a drop‑in WinForms control.
NuGet: dotnet add package AlphaOmega.ObjectListView
var olv = new ObjectListView { Dock = DockStyle.Fill }; // drop onto a Form
olv.Columns.Add(new OLVColumn("Name", "Name") { Width = 150 });
olv.Columns.Add(new OLVColumn("Status", "Status"));
olv.SetObjects(items); // items = IEnumerable<YourType>
Filtering example:
olv.AdditionalFilter = TextMatchFilter.Contains(olv, "search text");
olv.UpdateColumnFiltering();
Virtual mode (large data): implement IVirtualListDataSource and assign to VirtualListDataSource.
WinForms only. Incompatible with WPF because some logic relies on Application.Idle which does not fire in WPF by default.
MIT (see repository).