> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/Steema/TeeGrid-VCL-FMX-Samples/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to TeeGrid

> A lightweight, full-featured grid control for Delphi and Lazarus with VCL and FireMonkey support

## What is TeeGrid?

TeeGrid is a lightweight, full-featured Grid/Tabular control for Embarcadero RAD Studio, Delphi, C++, and Lazarus FreePascal. It provides a modern, high-performance data grid component that works seamlessly across VCL and FireMonkey frameworks.

Written from scratch (not derived from `TCustomGrid` or `TGrid`), TeeGrid consists of approximately 10,000 lines of pure Pascal code with a compiled size of only 100KB.

<Note>
  The same codebase works for both VCL and FireMonkey frameworks, providing 100% pure Pascal implementation.
</Note>

## Key Features

<CardGroup cols={2}>
  <Card title="Cross-Framework" icon="layer-group">
    Single codebase for VCL and FireMonkey with identical API
  </Card>

  <Card title="Lightweight" icon="feather">
    \~10K lines of code, 100KB compiled size for optimal performance
  </Card>

  <Card title="Data Binding" icon="database">
    Support for arrays, records, objects, datasets, and virtual data
  </Card>

  <Card title="Customizable" icon="palette">
    Built-in themes, custom renderers, and full styling control
  </Card>
</CardGroup>

### Data Sources

TeeGrid supports multiple data source types:

* **Arrays**: Simple types (Integer, String, Single) and complex types (Records, Objects)
* **Datasets**: TDataSource, FireDAC, ClientDataSet, and other database components
* **Virtual Data**: Custom data providers using `TVirtualData<T>`
* **RTTI**: Automatic column generation from record and class structures

### Visual Features

* **Headers and Footers**: Multi-band headers with custom text, totals, and calculations
* **Row Grouping**: Expandable/collapsible hierarchical data
* **Column Totals**: Built-in calculations (Sum, Average, Count, Min, Max)
* **Cell Editing**: In-place editing with custom editor controls
* **Sorting and Filtering**: Multi-column sorting with custom comparers
* **Themes**: Pre-built themes (iOS, Android, Black) and VCL theme support

## Supported Platforms

TeeGrid supports all major platforms through VCL and FireMonkey:

### VCL Framework

* Windows 32-bit
* Windows 64-bit
* Windows 64-bit Modern

### FireMonkey Framework

* Windows (32-bit and 64-bit)
* macOS (64-bit)
* iOS (32-bit and 64-bit)
* Android (32-bit and 64-bit)
* Linux (64-bit)

### Lazarus FreePascal

* Windows
* Linux
* macOS

## IDE Compatibility

TeeGrid is compatible with:

* **Embarcadero RAD Studio**: All versions including RAD Studio 13.0 Florence and older
* **Delphi**: Community Edition and all commercial versions
* **C++ Builder**: Full C++ support
* **Lazarus**: Cross-platform FreePascal IDE

## License

<Note>
  TeeGrid is **free for non-commercial use** in binary format. Commercial licenses are available from Steema Software.
</Note>

For non-commercial projects, you can use TeeGrid without any license fee. Commercial use requires a license from [Steema Software](https://www.steema.com/product/gridvcl).

## Architecture

TeeGrid's architecture is designed for maximum flexibility and performance:

```pascal theme={null}
TTeeGrid
  ├── Grid (TGrid)           // Core grid logic
  ├── Columns (TColumns)     // Column collection
  ├── Rows (TRows)           // Row management
  ├── Data (TVirtualData)    // Data source abstraction
  ├── Header (TBands)        // Header bands
  ├── Footer (TBands)        // Footer bands
  ├── Selected (TGridSelection) // Selection management
  └── Painter (TPainter)     // Rendering engine
```

## Performance

TeeGrid is optimized for performance:

* **Virtual Mode**: Display millions of rows with minimal memory usage
* **Lazy Loading**: Columns and data loaded on-demand
* **Efficient Rendering**: Only visible cells are painted
* **GDI+ Support**: Hardware-accelerated rendering on Windows (VCL)

## Next Steps

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/installation">
    Learn how to install TeeGrid in your IDE
  </Card>

  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Create your first grid in minutes
  </Card>
</CardGroup>
