Owl's Blog on .NET development

Component Owl codes Better ListView control all night so you don't have to.

Better ListView 2.0 Sneak Peek (Item hierarchy, groups, more)

Hierarchical items in two groups

Hierarchical items in two groups

We are currently working hard on finishing Better ListView version 2.0 which will add new features: Support for groups, tree-like item structure (tree nodes are collapsible, as expected), and multi-line items.

We expect to release this upgrade in about a month. It will be a free upgrade for current and new users.


Groups in Better ListView have comparable capabilities as other Better ListView elements (column headers, items, sub-items). For example, you can adjust the foreground/background colors, font, image – and owner drawing is possible as well.

You can even include images into group headers (as you can see in the preview above), which is not possible in .NET ListView.

Groups are collapsible by default and the expand button can be switched off on each group individually.

Here are groups combined with Tile view (the second group is collapsed):

Groups with Tile view

Groups with Tile view

The previous figure displays vertically oriented groups, but Better ListView also support horizontally oriented groups in the List mode:

Groups with List view

Groups with List view

We put special effort to mimic the group display and behavior of Windows Explorer. The group headers can display all of the 15 group header states available in Windows visual style and their display is governed by the same logic as in the ListView counterpart.

The group headers always look perfect and native, right out of the box. You don’t need to tweak anything.

Item Hierarchy

Items with hierarchy

Items with hierarchy

This works in the similar way as in the standard TreeView control. Each item (or node) has property called ChildItems which can be filled with new BetterListViewItem instances. SubItems collection can still be used in either items and child-items (child items are treated in the very same way as their parents).

Item hierarchy can be combined with Groups feature as seen in the first preview.

Multi-Line Items

Multi-line items

Multi-line items

A simple setting of item layout (MaximumTextLines property) allows breaking item text into several lines (up to the specified value). When the text is longer than MaximumTextLines, then the default trimming method is used (one from the TextTrimming enumeration: None, TrimCharacter, TrimWord, EllipsisCharacter, EllipsisWord, EllipsisPath).

Multi-line text can be used in every view and also in column headers.

Another New Features

There are also bunch of new minor features including:

Adjustable paddings – Every element part (e.g. item check box, group image…) contains customizable spaces at each side, so the user can easily create space where he needs and customize items/column headers/group headers to the finest detail.

Focusing sub-items – Items, group headers and even sub-items can be keyfocused. User can now invoke label editing or scroll to any “cell” in the Details-with-columns view solely with keyboard.

IEnumerable implementations –  BetterListView, BetterListViewGroup and BetterListViewItem implements IEnumerable interface for iterating through the whole item hierarchy, so using recursion to traverse child items is not necessary.

Leave a Reply