Russian Belarusian English German Japanese Ukrainian

Компонент StringGrid представляет собой таблицу, содержащую строки. Данные таблицы могут быть только для чтения или редактирования. Таблица может иметь полосы прокрутки, причем заданное число первых строк и столбцов может быть фиксированным и не прокручиваться. Таким образом, можно задать заголовки столбцов и строк, постоянно присутствующие в окне компонента. Каждой ячейке таблицы может быть поставлен в соответствие некоторый объект.

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

Основные свойства компонента


Значение Описание
System:: AnsiString Cells
[int ACol][int ARow]
Строка, содержащаяся в ячейке с индексами столбца и строки ACol и ARow.
Classes::TStrings* Cols[int Index] Список строк и связанных с ними объектов, содержащихся в столбце с индексом Index.
Classes::TStrings* Rows
[int Index]
Список строк и связанных с ними объектов, содержащихся в строке с индексом Index.
System::TObject* Objects
[int ACol][int ARow]
Объект, связанный со строкой, содержащейся в ячейке с индексами столбца и строки ACol и ARow.

Все эти свойства доступны во время выполнения. Задавать тексты можно программно или по отдельным ячейкам, или сразу по столбцам и строкам с помощью методов класса TStrings.

Свойства ColCount и RowCount определяют соответственно число столбцов и строк, свойства FixedCols и FixedRows - число фиксированных, не прокручиваемых столбцов и строк. Цвет фона фиксированных ячеек определяется свойством FixedColor.
Свойства LeftCol и TopRow определяют соответственно индексы первого видимого на экране в данный момент прокручиваемого столбца и первой видимой прокручиваемой строки.
Свойство ScrollBars определяет наличие в таблице полос прокрутки. Причем полосы прокрутки появляются и исчезают автоматически в зависимости от того, помещается таблица в соответствующий размер или нет.
Свойство Options является множеством, определяющим многие свойства таблицы: наличие разделительных вертикальных и горизонтальных линий в фиксированных (goFixedVertLine и goFixedHorzLine) и не фиксированных (goVertLine и goHorzLine) ячейках, возможность для пользователя изменять с помощью мыши размеры столбцов и строк (goCoISizing и goRowSizing), перемещать столбцы и строки (goColMoving и goRowMoving) и многое другое. Важным элементом в свойстве Options является goEditing - возможность редактировать содержимое таблицы.

В основном компонент StringGrid используется для выбора пользователем каких-то значений, отображенных в ячейках.
Свойства Col и Row показывают индексы столбца и строки выделенной ячейки. Возможно также выделение пользователем множества ячеек, строк и столбцов.
Среди множества событий компонента StringGrid следует отметить событие OnSelectCell, возникающее в момент выбора пользователем ячейки. В обработчик этого события передаются целые параметры ACol и ARow - столбец и строка выделенной ячейки, и булев параметр CanSelect - допустимость выбора.

Параметр CanSelect можно использовать для запрета выделения ячейки, задав его значение false. А параметры ACol и ARow могут использоваться для какой-то реакции программы на выделение пользователя.

Пример №1


Оператор выведет в метку Label1 сообщение о строке, столбце и тексте выбранной ячейки:

Label1->Caption = "Выбрана ячейка " + IntToStr(ARow) + ":" + IntToStr(ACol) + ". Текст: " + StringGrid1->Cells[ACol][ARow];

Пример №2


Данный пример обеспечит заполнение ячеек таблицы текстами:

int i, j;
for(i = 1; i < StringGrid1->ColCount; i++)
StringGrid1->Cells[i][0] = "столбец " + IntToStr(i);
for(i = 1; i < StringGrid1->RowCount; i++)
 {
 StringGrid1->Cells[0][i] = "строка " + IntToStr(i);
 for(j = 1; j < StringGrid1->RowCount; j++)
  {
  StringGrid1->Cells[j][i] = IntToStr(i) + "+" + IntToStr(j);
  }
 }

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

  Комментарии

+2 Рустам 02.04.2014 20:57 #1
Здравствуйте.
Каким образом считать определенный столбец из excel в stringgrid?
Заранее благодарю.

Цитата:
Раздел FAQ дополнен.
клац

Добавить комментарий


Поиск по сайту