One JavaScript file · Framework-neutral · 100,000 rows

Transform complex hierarchical data into a premium product experience.

A highly customisable Web Component for tree grids, catalogues, dashboards and admin consoles — anywhere hierarchical data has to be fast, attractive and genuinely interactive. Grouping, inline editing, typed filters and export are built in, and it stays comfortable past 100,000 rows.

Commercial licence · Compiled runtime · Merchant of record checkout

TreeListView showing a hierarchical product catalogue with folders, owners, status badges, item counts and paging.
Grouping & totals Inline editing 100,000 rows
1Runtime file to drop into the host application.
11Built-in themes, including one that follows the operating system.
15Cell kinds, from currency and dates to sparklines and avatars.
Any UIHTML5, Angular, React, Vue, Blazor and more.

01See it working

The real component, running on this page.

Not a screenshot and not a video — this is the same runtime file your application would load. Pick a spotlight to put a capability front and centre.

Product portfolio — teams, quality, utilisation and budget

Grouped by stage. Each group header carries its own averages and totals; the sticky row at the bottom totals everything visible.

What you are looking at

Avatars, chip lists, star ratings, inline sparklines, percentages and formatted currency — every one a built-in cell kind, not a custom renderer.

Roughly forty lines of setup

Columns declare kind, aggregate and editable; the grid does the rest. No data pipeline to write, no chart library to pull in.

The same file your app loads

One runtime, no framework, no build step. What renders here is what renders in your product.

02Capabilities

Built for product teams who need tree data to feel first-class.

Compact enough for admin tooling, refined enough for SaaS, flexible enough for catalogues, portfolios and finance structures — and simple to adopt: add the script, place the element, call setData(columns, items), then switch behaviour with plain HTML attributes.

Tree and list modes

Show hierarchical parent-child data, or flatten the very same dataset into a list when users need a different working view. One mode attribute switches between them — no second component, no second data shape.

Filtering and sorting

A global filter bar, per-column filters with thirteen typed operators, and multi-column sort. Currency sorts numerically and dates chronologically, with no configuration.

Frozen tree column

Keep the hierarchy visible while users horizontally scroll through wide operational datasets with many fields.

Selection models

Use single, multiple or checkbox selection, including select-all for visible rows and a footer selection count.

Fifteen cell kinds

Text, badge, progress, link, date, currency, number, percent, boolean, chips, rating, sparkline, avatar, icon text and row actions — plus your own renderers when you need them.

Easy to use

Drop in one runtime file, render <bm-treelistview>, pass columns and rows with setData, then control features using straightforward attributes and methods.

Accessible by design

WCAG 2.2 AA: treegrid roles, full ARIA metadata, roving tabindex, a complete keyboard grid, polite announcements, RTL, reduced-motion and Windows High Contrast.

Lazy loading

Load children on demand for large hierarchies, remote datasets and enterprise-scale tree structures.

Grouping and totals

Bucket rows by any column with live counts and aggregates in every group header, plus an optional sticky totals row. Sum, average, min, max, distinct counts — or your own function.

Inline editing

Text, number, date, checkbox and select editors, chosen automatically from the column type. Validators reject bad values and say why, without losing what the user typed.

Export and clipboard

CSV, TSV, JSON and an Excel-readable format — formatted or raw, whole grid or selection. Ctrl/Cmd + C pastes straight into a spreadsheet, and exports are guarded against formula injection.

Built for scale

Virtual scrolling renders only what is on screen and can switch itself on above a row count you choose. Ten thousand rows are comfortable; a hundred thousand are practical.

10,000 comfortable100,000 virtualisedAuto-virtualisation

Columns under user control

Reorder by dragging, resize by mouse, touch or keyboard, pin either edge, freeze the tree column, and hide columns from a built-in chooser. The layout is part of the saved state.

Brand theming

Eleven built-in themes — one follows the operating system — plus over a hundred CSS variables and named parts, so the grid looks native to your brand.

03Live demo

Northwind Commerce Operations, running right here.

This is the real component, not a video. Try grouping and the totals row, edit a cell in place, filter a column numerically, reorder the columns by dragging a header, export to four formats, and expand “Future Launch Lines” to watch children load on demand. Eleven built-in themes, three densities and full keyboard navigation are all live.

Commerce product hierarchy, suppliers, stock health and revenue

Use the grid as a product catalogue, operations dashboard, portfolio view or enterprise admin console.

Event feed: Waiting for interaction… Keyboard: Home End Enter Space *

04Integration

Use it from almost any UI technology.

Because it is a standards-based Web Component, the consuming application does not need to use any specific JavaScript framework. It can be used in plain HTML5, Angular, React, Vue, Blazor, ASP.NET, Razor pages, static sites and other modern front ends.

HTML5 integration html
One JS runtimeDOM eventssetData APINo framework lock-in
Load runtime

Reference the licensed compiled bm-treelistview.min.js runtime from your host app.

Render element

Place <bm-treelistview> in the page, component or Razor view.

Bind data

Call setData(columns, items) and listen for TreeListView DOM events.

One runtime, many host applications

Ship the same JavaScript runtime into portals, admin products, dashboards and customer-facing apps without rewriting the tree-grid experience for every framework.

No framework lock-inSimple upgradesSimple APIFast adoption

05Commercial licensing

Pick the licence pack that fits your team.

TreeListView is available through Lemon Squeezy, our merchant of record. Choose a single developer licence, a discounted team pack, or the limited-time organisation-wide option for one named organisation.

Default choice 1 developer

Single License

$169one-off

Ideal for one developer using TreeListView in commercial application work, internal tools, prototypes or client projects.

  • 1 developer licence
  • Commercial usage rights
  • Compiled runtime distribution
  • Great starting option
Buy Single License
Small team 2 developers

2 Licenses Pack

$216one-off

A practical pack for two developers working together on the same product, admin console, SaaS screen or customer project.

  • 2 developer licences
  • Better value than separate licences
  • Good for paired delivery
  • Commercial usage rights
Buy 2 Licenses Pack
Limited time Unlimited

Organization-wide Pack

$799one-off

Unlimited developer licences for your single named organisation. Ideal when TreeListView will be standardised across multiple teams.

  • Unlimited developer licences
  • Single named organisation
  • Excellent for internal platforms
  • Limited-time organisation offer
Buy Organization Pack
Secure Lemon Squeezy checkout

The buy buttons take you to the TreeListView product licence purchase in the Lemon Squeezy checkout page. Lemon Squeezy acts as the merchant of record, handles the secure purchase flow, and presents the available licence quantity options to help you complete your purchase.

Runtime delivery

Use the compiled commercial bm-treelistview.min.js runtime in your authorised hosted application or customer portal. The public site and playground use bm-treelistview.demo.js.

Source protected

Please note that the component source code, build chain and internal development assets are not shipped with the runtime as part of your licence purchase.

Written licence

Usage is governed by a separate written licence agreement with Binarymission (UK).

06About us

Bring powerful tree-grid experiences into your product without building them from scratch.

TreeListView helps software teams add polished hierarchical data experiences to admin portals, operations dashboards, catalogue systems and SaaS products with a simple licensed runtime.