СтатьиПрограммирование в Delphi

Описание компонента Delphi StringGrid

Компонент Delphi StringGrid используется для отображения информации в табличной форме. В панели компонентов Delphi расположен на закладке Additional.

В основном ячейки компонента StringGrid могут содержать строковые значения, но можно так же добавить изображения в ячейки StringGrid.

При установке компонента на форму, по умолчанию имеется поля таблицы с первыми фиксированными колонкой и строкой. Редактировать после запуска программы можно только область белых ячеек. Фиксированные ячейки используются в основном для подписей столбцов и строк, а так же чтобы ограничить пользователя в возможности их редактировать.

Компонент Delphi StringGrid
Рисунок: Компонент StringGrid

Свойства компонента Delphi StringGrid

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

Свойство Тип данных Описание
ColCount Целое число Количество колонок в таблице
RowCount Целое число Количество строк в таблице
DefaultColWidth Целое число Ширина колонок в таблице
DefaultRowHeight Целое число Высота строк в таблице
FixedCols Целое число Количество зафиксированных колонок слева таблицы
FixedRows Целое число Количество зафиксированных колонок сверху таблицы
GridLineWidth Целое число Ширина линии ограничивающиая ячейки таблицы
Options Вложенные свойства Определяют группу параметров компонентов
Font Вложенные свойства Шрифт отображения содержимого ячеек

В следующей таблице описаны параметры свойства Options компонента.

Свойство Тип данных Описание
goFixedVertLine Логический Вертикальные разделительные линии между «фиксированными» ячейками
goFixedHorzLine Логический Горизонтальные разделительные линии между «фиксированными» ячейками
goVertLine Логический Вертикальные разделительные линии между всеми ячейками
goHorzLine Логический Горизонтальные разделительные линии между всеми ячейками
goRangeSelect Логический Включение режима выделения диапазона ячеек таблицы
goDrawFocusSelected Логический Дает возможность закрашивания ячейки с фокусом
goRowSizing Логический Дает возможность менять высоту строк с помощью мыши
goColSizing Логический Дает возможность менять ширину столбцов с помощью мыши
goRowMoving Логический Дает возможность перемещать строку с помощью мыши
goColMoving Логический Дает возможность перемещать столбец с помощью мыши
goEditing Логический Управляет режимом редактирования содержимого ячейки
goTabs Логический Управляет режимом перехода табуляцией: при True фокус будет смещаться на следующую ячейку, при False — на следующий компонент
goRowSelect Логический Дает возможность выделять всю строку с «фокусированной» ячейкой
goAlwaysShowEditor Логический Если True содержимое ячейки при фокусе сразу будет доступно редактированию, а при False — сначала нужно щёлкнуть по ячейке мышкой
goThumbTracking Логический Мышкой будет вызываться немедленное перемещение ячеек, а при False — ячейки будут перемещаться только при отпускании скрола

Примеры операций с компонентом Delphi StringGrid

Назначения размера таблицы:

MyStringGrid.ColCount := 10;
MyStringGrid.RowCount := 20;


Программный ввод данных в ячейки таблицы:

MyStringGrid.Cells[1, 2] := 'Мой текст';

здесь значения: 1 – номер столбца, 2 – номер строки.

Следует обратить внимание на то, что нумерация ячеек и столбцов начинается с нуля. Соответственно, если вы хотите вывести данные в крайнюю левую верхнюю ячейку, следует указать значения:

MyStringGrid.Cells[0, 0] := 'Мой текст';


Пронумеровать колонку:

var
i : Integer;
begin
for i := 0 to MyStringGrid.RowCount - 1 do
MyStringGrid.Cells[0, i] := IntToStr(i);
end;


Выделение отдельной ячейки:

MyStringGrid.Col := 2; // столбец
MyStringGrid.Row := 2; // строка


Программное управление групповым свойством Options:

// Включение редактирования, другие параметры без изменений
MyStringGrid.Options:=MyStringGrid.Options+[goEditing];

// Выключение редактирования, другие параметры без изменений
MyStringGrid.Options:=MyStringGrid.Options-[goEditing];

// Указывается список включенных параметров, остальные выключены
MyStringGrid.Options:=[goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine];


Очистка всех ячеек может быть выполнена по столбцам, строкам или по отдельным ячейкам:

// по столбцам
var
i : Integer;
begin
for i := 0 to MyStringGrid.ColCount - 1 do
MyStringGrid.Cols[i].Clear;
end;

// по строкам
var
i : Integer;
begin
for i := 0 to MyStringGrid.RowCount - 1 do
MyStringGrid.Rows[i].Clear;
end;

// по отдельным ячейкам
var
i, j: Integer;
begin
for i := 0 to MyStringGrid.RowCount - 1 do
for j := 0 to MyStringGrid.ColCount - 1 do
MyStringGrid.Cells[j, i]:='';
end;


Комментарии

Имя:
Текст комментария:
* В комментариях запрещено публиковать рекламные объявления. Сообщения, содержащие ссылки на сторонние ресурсы добавляется в скрытом режиме. Они будут открыты, если не нарушают установленных правил, после проверки.
Защита от спам-роботов (* Обязателельно укажите ответ на простой вопрос ниже.)
Разность чисел шeсть минyс oдин? (цифра)