StringGrid (TStringGrid) - компонент текстовой таблицы Delphi StringGrid (TStringGrid) - компонент текстовой таблицы Delphi

StringGrid (TStringGrid) – компонент текстовой таблицы Delphi

Компонент StringGrid позволяет создавать таблицы в ячейках которых хранятся произвольные текстовые строки.

Таблица состоит из двух частей – фиксированной и рабочей. В фиксированной части располагается заголовок колонок и рядов.

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

или полностью убрать эти  фиксированные части присвоив обоим этим свойствам значение 0.

Рабочая часть – это вся остальная часть таблицы. Именно в рабочей части вы будете располагать и работать с основными данными вашей программы. При прокрутке фиксированная часть не исчезает.

Главным свойство компонента StringGrid является свойство Cells – двухмерный массив ячеек в которых содержится произвольный текст. Координаты ячейки определяются всего парой чисел – номером колонки и номера ряда (нумерация начинается с 0). Пример кода:

StringGrid1.Cells[1,1]:=’Hello, Word!’;

Количество колонок таблице хранит свойство ColCount (количество колонок) и RowCount (количество рядов). При этом их значение должно быть на 1 больше чем значение FixedCols и FixedRows.

Как записать вычисленное число в ячейку StringGrid!?

Для целых чисел:  StringGrid1.Cells[1,1]:=inttostr(1);

Для дробных чисел:  StringGrid1.Cells[1,2]:=floattostr(1.22);

Как вывести значение ячейки StringGrid в Edit!?

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

StrinGrid в Edit

Код StringGrid в Edit:

procedure TForm3.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
Form4.Show;
Form4.Edit1.Text:=floattostr(strtofloat(StringGrid1.Cells[1,ARow])); // пример перевода текста в число.
Form4.Edit4.Text:=StringGrid1.Cells[2,ARow];
Form4.Edit5.Text:=StringGrid1.Cells[3,ARow];
Form4.Edit6.Text:=StringGrid1.Cells[4,ARow];
end;