Lightweight and
VCL grid control

RAD Studio 12.1 support
Get free trial


The grid component for Delphi VCL & FMX offers a very fast grid for your RAD Studio projects.

Take Full Control

The VCL grid installs a palette component to aid designtime configuration. Full 100% TeeGrid source code is optionally available.

Easy to Use

We think you'll find this is one of the easiest grids around for quick setup to get to and see your tabular data.

Priced Right for You

TeeGrid is agile and its price is light and nimble making it an easy fit in any project's budget.

Steema's commitment

Steema has been publishing Delphi code for you, our customers, for more than 25 years; your satisfaction is of paramount importance to us.

A quick glance

Fully-featured VCL grid component

Fast and easy-to-use VCL grid, with data sorting, grouping and filtering
TeeGrid component is written from scratch in 2016 (not derived from TCustomGrid or TGrid) to take advantage of all that's fast in Delphi!
The grid allows you easily and fast manage information, connect to data sources and display data. Featureset includes locked columns, searching, filtering, sorting and grouping data, master-detail view, draggable selections, grid scrolling.

See examples, getting-started guide and other resources

VCL data grid

VCL data grid component


Default themes for the grid view
TeeGrid is fully compatible with VCL and FireMonkey offering you the means to take common core code for gridding on Windows, Android and iOS/MacOS.
The data grid control ships with some default themes to optionally custom match to each environment.
Now you can use TeeGrid with FMXLinux to port/build your applications to/for Linux with Embarcadero Delphi 10.2 Tokyo and up.

Ticker component

Easily configurable grid ticker tool
The TeeGrid "Ticker" component to automatically refresh grid cells when values are updated. For VCL, Firemonkey and Lazarus. Delphi and C++, 2009 to Rio.
Options include FadeColors, Delay, Higher.Color, Lower.Color and RefreshSpeed.

VCL data grid component

VCL data grid master detail view

Master-detail view

Customisable master-detail presentation
The VCL data grid control supports master-detail view. Any row can be expanded to show a detail sub-grid rows. Detail rows can be displayed in an expandable hierarchical data grid.
Take a look at the Master-Detail FireDAC example.

Customisable rows and columns

Dragging, scrolling, resizing, adding or deleting rows & columns
The data grid component offers many features to manage the rows and columns sizing, formatting and more to your grids;
Locked columns allows to lock a specified number of rows and columns. Any grid column can be locked to a grid edge (left or right).
Column dragging, column headers can be mouse-dragged to move them to new positions in the grid.
Column resizing allows to modify the column width in a grid by dragging the left mouse button in a column header edge.
Horizontal / vertical grid scrolling can be performed to display data using grid scrollbars or arrow keys, mouse-dragging or finger-touch.

VCL data grid component

New and improved features

(Current build: v1.15, Other Version history)

Full support for Embarcadero RAD Studio, Delphi and C++ Builder including: 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.1 Berlin Update 2, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria, 12 Athens and Firemonkey framework and Lazarus FreePascal.
(*)TeeGrid does NOT support Delphi / C++ Builder Starter Editions.
TeeGrid is capable of handling a very big number of cells. For example 1 billion cells (1000 columns by 1 million rows).
The only limit is the available memory, (compile for the 64bit platform).
TVirtualData or derived class to automatically create columns and provide cell values.
TeeGrid can be used like a TStringGrid with a TStringsData object:
var Data : TStringsData;
Data:= TStringsData.Create;

// Initialize size
Data.Columns:= 2;
Data.Rows:= 6;

// Set header texts
Data.Headers[0]:= 'A';
Data.Headers[1]:= 'B';

// Fill rows and cells
Data[0,0]:= 'A0';
Data[1,0]:= 'B0';

// Set data to grid
TeeGrid1.Columns.AddColumn('My Column 1').Items.AddColumn('Sub-Column 1')...
Any row can be expanded to show its detail sub-grid rows. The grid Data class must support master-detail relationships.
A TBIGridData class is provided to link TeeBI TDataItem data objects supporting master-detail See "TeeBI_Customer_Orders" example.
Automatic summary "grid bands" can be added to a header or footer, also for "detail" subgrids.

var Totals : TColumnTotals;
Totals:= TColumnTotals.From(TeeGrid1.Data, TeeGrid1.Columns);

Totals.Calculation.Add( TeeGrid1.Columns['Quantity'], TColumnCalculation.Sum);

// Add band to grid footer

// Add also a band with total names
TeeGrid1.Footer.Add( TTotalsHeader.CreateTotals( Totals ) );
Any row might display a grid band above the row. The "band" can be anything, from a simple TTitleBand to a complex group of bands or rows.

var Title: TTitleBand;
Title:= TTitleBand.Create;
Title.Text:='My Rows';
TeeGrid1.Rows.SubBands[23]:= Title;
Default class for cell rendering is TCellRender. Other classes can be used or created to override the default behaviour, like for example to show check-boxes in columns with boolean (True/False) values:

TeeGrid1.Columns[7].Render:= TBooleanRender.Create;
TeeGrid1.Columns[0].FloatFormat:= '0.###';
TeeGrid1.Columns[0].Visible:= False;
TeeGrid1.Columns[0].Items[3].Expanded:= False; // visible, but collapsed
TeeGrid1.Columns[0].Width.Automatic:= False;
TeeGrid1.Columns[0].Width.Value:= 40;
TeeGrid1.Columns[0].Width.Units:= TSizeUnits.Percent;
Dragging the left mouse button in a column header edge resizes it
Scrollbars are automatically displayed when necessary. In Firemonkey they can be customized:

Columns and sub-columns can be re-positioned:

TeeGrid1.Columns[2].Index:= 0; // move 2nd column to first (left-most) position
TeeGrid1.Columns[0].Header.Text:= 'My Column';
TeeGrid1.Columns[0].Header.Format.Font.Color:= TAlphaColors.Red;
TeeGrid1.Header.Hover.Visible:= True;
TeeGrid1.Header.Hover.Format.Brush.Color:= TAlphaColors.Green;
TeeGrid1.Indicator.Visible:= True; // False to hide indicator
TeeGrid1.Indicator.Width:= 20;
// selection
TeeGrid1.Selected.Column:= TeeGrid1.Columns[3];
TeeGrid1.Selected.Row:= 5;

// formatting
TeeGrid1.Selected.ParentFont:= False;
TeeGrid1.Selected.Format.Font.Style:= [TFontStyle.fsBold];
// range selection
TeeGrid1.Selected.Range.FromColumn:= TeeGrid1.Columns[3];
TeeGrid1.Selected.Range.ToColumn:= TeeGrid1.Columns[6];

TeeGrid1.Selected.Range.FromRow:= 10;
TeeGrid1.Selected.Range.ToRow:= 15;
Clipboard.AsText:= TCSVData.From(TeeGrid1.Grid, TeeGrid1.Selected);
TeeGrid1.ReadOnly:= False;
TeeGrid1.Columns[0].ReadOnly:= True;
TeeGrid1.Columns[1].EditorClass:= TCalendarEditor;
TeeGrid1.Rows.RowLines.Visible:= True;
TeeGrid1.Rows.RowLines.Size:= 3;
TeeGrid1.Rows.RowLines.Color:= TAlphaColors.Skyblue;
Cell (or all cells in row) under mouse cursor can be highlighted:

TeeGrid1.Cells.Hover.Visible:= True;
TeeGrid1.Cells.Hover.FullRow:= True;
TeeGrid1.Cells.Hover.Format.Stroke.Size:= 2;
For sub-pixel finetuning, Firemonkey only. VCL always rounds to integer pixels.

TeeGrid1.Header.Height.Value:=124.3; // sub-pixels, decimals
TeeGrid1.Rows.Alternate.Brush.Visible:= True;
TeeGrid1.Rows.Alternate.Brush.Color:= TAlphaColors.Lightcoral;
TeeGrid1.Rows.Alternate.Stroke.Visible:= True;

New License of 2024

TeeGrid Grid component for all VCL and FMX projects under RAD Studio & Lazarus. Includes 100% sourcecode.

Registered product definition
The TeeGrid registered product includes:

  • Full product sourcecode
  • Read/write access to Steema support forums
  • Right to use the Software in commercial applications
  • Access to all sourcecode updates during active subscription period

TeeGrid VCL/FMX for RAD Studio & Lazarus


Upgrade to 2024

Upgrade from
To Version 2024 and one year subscription

Subscription Renewal for 2024

Subscriptions include all major and minor version releases and forum support

One Year support and major version upgrade protection subscription renewal

TeeGrid VCL/FMX for RAD Studio Subscription Renewal

Additional options

VCL / FMX news

Previous VCL / FMX news

Volume discounts

We offer discounts when purchasing more than one license. Discounts are as follows:

  • 2 Licenses: 5% discount
  • 5 Licenses: 20% discount
  • 10 Licenses: 25% discount

The volume discount will be automatically calculated if you are making your order online. You just need to enter the quantity of licenses you want to order. For special requirements, please contact us at

Perpetual Licenses and Subscriptions

Steema Licenses are perpetual and sold on a subscription basis. The subscription period is initially for 12 months, renewable annually and includes access to updates and support forums. Please see the Subscription licensing page for complete details.
When the subscription period expires you can optionally renew your subscription for an additional year at the renewal price. We will notify you via e-mail at least 30 days prior to the expiry date.
If your subscription has lapsed over 30 days, the renewal price will not apply and the cost will be that of a license upgrade price.

If you have a question or require more information, call us at +34 972 218 797 between 9:00h and 17:00h central european time or email