Основные свойства таблицы остались прежние и отображены в Инспекторе объектов в свойствах Option.

Если с таблицей не предполагается работать визуально (изменять размеры строк, колонок и пр.) достаточно оставить отображение линий колонок.

Также можно убрать нововведенный элемент Заголовок – Header, который представляет собой отдельный элемент и программируется отдельно, а фактически выполняет роль окрашиваемых серым нулевых колонку и строку, предназначенных для их нумерации в более ранних версиях таблицы.

Так как нулевые колонки никуда не делись, а важность нумерации строк остается, лучше убрать этот только мешающий элемент и оставить за нулевыми колонкой и строкой функции их нумерации или обозначения; при этом становится более понятным нумерация данных, не приходится помнить, что данные 1 находятся в строке 0 и при обращении к таблице постоянно изменять: n:= n-1.

Основным способом работы с таблицей остается работа с клетками [Cells] с указанием координат – колонки Columns (с) и строки Row (r): StringGrid1.Cells [c,r], с операторами присвоения:

StringGrid1.Cells [c,r]:= «текст» или переменной str: String;

str:= StringGrid1.Cells [c,r];


Так как часто содержание Таблицы – числа, то обычным является применение изменения типов данных: StrToInt (), IntToStr (), StrToFloat (), часто с одновременным форматированием: FloatToStrF (n, ffFixed, count всего цифр, count цифр после запятой).

Данным в таблице можно поставить в соответствие данные Memo (нумерация начинается также с 0 и также первую 0-строчку можно для ясности пропустить). Так же, как и в Memo число строк в таблице может быть ограничено, что прямо указывается в Инспекторе объектов в свойстве RowCount; однако, в таблице присутствуют еще и колонки, чего нет в Memo. Поэтому при обращении к Memo и обратно приходится переходить от 1-мерности Memo к 2-мерности таблиц, записывая в Memo все подряд, а при заполнении таблицы разбивая сплошной текст на участки соответствующие строкам и колонкам.

В Memo строки могут быть большой длины (автоматический перевод на другую видимую строку WardWrap:= true не отражается на нумерации строк).

Поэтому все строки таблицы в пределах одной колонки можно совместить, вводя разделитель (например «;») и записать длинную строку.

Обратный переход потребует несколько большего кода, включающего работы со строками для выделения фрагментов строки Memo между «;» соответствующего строке таблицы.

Большие таблицы можно визуально отражать с определенной строки – TopRow и колонки – LeftRow. Часто таблица предназначено только для чтения – ReadOnly или вообще для промежуточных действий и невидима – Visible:= false.

Новый тип таблиц – Grid позволяет вводить различный типы колонок, например, с цифровым вводом, избавляясь таким образом от необходимости переопределять тип вводимых данных. При этом основным элементов таблицы является колонка, а сама таблица представляет собой по существу, набор колонок разного типа. Ширину колонок можно изменять программно или визуально мышью, а также выделив колонку определить ее ширину в Инспекторе объектов или прямо двигая границу колонки мышью. Ширину строки определяет свойство в Инспекторе объектов.

В соответствии с основной идеей Firemonkey, согласно которой каждый компонент – это также и контейнер для других элементов, TGrid представляет собой контейнер в котором можно разместить FMX-объекты как коллекции строк:

TColumn: столбец таблицы с неопределенным содержимым. Можно использовать для создания своих столбцов (с ComboBox и другими элементами);

TStringColumn: столбец содержит только строки;