Skip to main content

Overview

TeeGrid supports direct binding to generic TList<T> and TObjectList<T> collections, providing automatic UI updates as your list changes.

Basic TList Binding

TList<TPerson>

TObjectList Binding

TObjectList<TCar>

TObjectList<T> automatically manages the lifetime of its objects when freed.

Controlling Visibility

Member Visibility

Control which fields and properties are displayed:

Including Ancestor Members

Complete Example from Demos

From Unit_TList.pas in the VirtualData demos:

Key Concepts

TVirtualListData vs TVirtualObjectListData

  • TVirtualListData: For TList<T> of records or simple types
  • TVirtualObjectListData: For TList<T> or TObjectList<T> of objects

Member Filtering

Control what gets displayed:

Live Updates

Changes to the list automatically reflect in the grid:

Advanced Usage

Custom Visibility

Combining with Themes

Performance Considerations

  • TeeGrid uses virtual rendering - only visible rows are drawn
  • Lists of 10,000+ items perform smoothly
  • RTTI reflection is done once during binding, not during rendering

Common Patterns

Record Lists

Object Lists with Ownership

Features Demonstrated

  • Binding TList<T> of records
  • Binding TObjectList<T> of objects
  • Controlling member visibility
  • Including/excluding ancestor members
  • Automatic column generation from RTTI
  • Live data updates

Next Steps