bbHierarchicalGrid - Hierarchical datagrid  for WPF and WinForms. 

Get a bbHierarchical license key today and get 30% off!

Receive one year of technical support via our Slack channel.

Check out our MSDN-styled documentation for a complete reference of the bbHierarchicalGrid library.

Offline? No problem! Request the CHM file here.

Code samples on GitHub

bbHierarchicalGrid.Examples is a GitHub repository with WPF and Winforms examples.

Distributed with NuGet

Available as a NuGet package on
Have a private NuGet Server? We'll send our latest .nupkg file.

bbHierarchicalGrid - List of features

Multi-lingual supportIncludes the following display languages: Arabic, English, French, Spanish, Chinese.
Readonly columnsColumns can be rendered read-only.
Custom column titleAlias your column title with the Description attribute instead of using the default property name.
Sortable columnsBuilt-in sort functionality that respects the hierarchical nature of the grid.
Ordable columnsSet the order with which columns renders in the grid using the bbOrder attribute.
Better UX when editing dataStrings can be editable in a textbox, numeric types can be rendered in a UpNumericControl and DateTime types can be rendered in a DateTimePicker.
Tooltip and TextTrimmingAutomatic tooltip and text trimming for string bound columns.
RTF supportSet the direction flow depending on your end-user's display language.
Built-in search functionLet users search data. You can provide your own implementation for the search function.
Built-in thumbailAdd a little flare to your UI by adding a thumbnail to your custom types.
Checkable, selectable rowsCheck, select (and multi-select) rows in the grid. bbHierarchicalGrid has built-in events for when items are added or removed from the grid.
Technical supportGet technical support via our Slack channel.

Sortable columns:

Users can sort data by clicking on column headers. You can make any property of your custom type sortable with the bbSortable attribute and bbHierarchicalGrid will take care of the rest through reflection.
public class customItem : bbItem
private DateTime modifiedDateTime;
public DateTime ModifiedDateTime
get { return modifiedDateTime; }
set { SetProperty(ref modifiedDateTime, value); }


All items on the grid can be checked and selected. bbHierarchicalGrid exposes events for when items are added or removed.

// returned items are only visible items
var cItems = bbViewModel.GetCheckedItems();
var sItems = bbViewModel.GetSelectedItems();

Searchable Data:

Let your users search their data via the search toolbar. You can hide this feature if it is not required.

// Hides the search toolbar
bbViewModel.SearchToolbarVisibility = false;

bbHierarchicalGrid lets you provide your own search implementation. Add your custom implementation via the SearchFunction property:

bbViewModel.SearchFunction = (T Item, string propName, 
string searchStr){
         var value = Item.GetType().GetProperty(propName)
         .GetValue(Item, null).ToString();
           if (string.IsNullOrWhiteSpace(value))
              return false;
            return value.ToLower().Contains(searchStr

RTF languages support:

bbHierarchicalGrid supports both right-to-left and left-to-right flow direction. You can display data in languages such as Arabic and Hebrew elegantly.

var bbHierarchicalDataGridControl = 
new bbHierarchicalGrid.bbHierarchicalDataGrid();
this.elementHost1.Child = bbHierarchicalDataGridControl;
bbHierarchicalDataGridControl.DataContext = viewModel;
// set flow direction from right to left
viewModel.FlowDirection = 

Get a bbHierarchical license key today and get 30% off!

Receive a one year of technical support via our Slack channel.

- Your order is securely handled on

Please read our purchasing conditions when you make the order.