Содержание
Table.Columns.Insert(InsertBefore: Variant; Text, Name, Type : String; Width : Integer; Agg : String)
Добавить колонку
Метод Table.Columns.Insert добавляет новую колонку в таблицу, перед колонкой InsertBefore. Нумерация колонок начинается с 0. Если необходимо добавить крайнюю правую колонку, то InsertBefore должен быть равен количеству колонок в таблицы.
Аргумент Text содержит текст, который будет отображаться в заголовке добавленного столбца.
Аргумент Name содержит имя колонки. Его можно использовать для обращения к колонке с помощью метода Table.Cell. Если таблица связана с таблицей базой данных и имя добавленной колонки совпадает с именем поля в таблице БД, то при сохранении изменений формы, значение этой колонки будет сохранено в базу данных. Сохранение изменений формы происходит при вызове метода Form.Apply, или нажатии на кнопку ОК, если нет обработчика OnOkClick.
Аргумент Type содержит тип колонки: 'String', 'Integer', 'DateTime', 'Boolean', 'Float', 'Currency' или '*имя_таблицы').
Аргумент Width содержит ширину колонки в пикселях. Если Width=0, то колонка не отображается на экране.
Аргумент Agg содержит способ расчета значения отображаемого в подвале таблицы. Может быть пустой строкой или одним из: sum, min, max, avg, inc.
Если колонка добавлена перед колонками созданными в редакторе, то использовать код Имя_таблицы[Номер_строки].Имя_поля нельзя. Потому что во время компиляции программы, платформа заменяет имя колонки на номер, а номера колонок после добавления новой колонки изменятся. В этом случае вам необходимо использовать метод Table.Cell.
Пример:
Procedure OnCreate; Var i : Integer; Begin Table1.Columns.Insert(Table1.Columns.Count, 'Новая колонка', 'newcol', 'integer', 64, 'sum'); For i:=0 To 10 Do Table1.Cell(Table1.Append, 'newcol') := Random(100); End;