Grid содержит колонки, которые, в свою очередь, могут содержать заголовки и любые другие элементы управление. По умолчанию, элемент управления содержит в колонке - текстовый бокс, так что по умолчанию, функциональное назначение grid приближено к окну Browse. Тем не менее, архитектура, лежащая в основе grid, позволяет расширить его возможности по сравнению с возможностями окна Browse.
В следующем примере создается форма, которая содержит объект Grid с двумя колонками. Вторая колонка содержит checkbox для отображения значения логического поля таблицы.
Код | Комментарии |
---|---|
|
Начало определения класса и установка свойств, которые определяют вид grid. Установкой свойства ColumnCount в 2, Вы добавляете две колонки к grid. Каждая колонка содержит заголовок с именем Header1. Кроме того, каждая колонка имеет независимую группу свойств, которые определяют ее вид и поведение. |
|
Когда Вы установите свойство ControlSource колонки, то в колонке будет отображаться значения одного поля для всех записей таблицы. |
|
Column2 будет содержать checkbox. Установите для колонки значение свойства Sparse в .F., чтобы checkbox был виден во всех строках, а не только в выбранной ячейке. |
|
Установите ширину колонки и название ее заголовка. Метод AddObject позволяет добавить объект в контейнер — в нашем случае это checkbox названный |
|
Конец определения класса. |
Следующий класс определяет форму, содержащую grid. Оба определения классов могу быть размещены в одном программном файле.
Код | Комментарии |
---|---|
|
Создает класс form и добавляет в него объект, основанный на классе grid. |
|
Программа, которая создает объект, основанный на этом классе, будет использовать команду READ EVENTS. Включение команды CLEAR EVENTS в Событие Destroy формы, позволит программе завершиться когда пользователь закроет эту форму. Конец определения класса. |
Следующая программа открывает таблицу с полями, которые будут отображаться в колонках grid, создает объект, основанный на классе GridForm и запускает команду READ EVENTS:
Копировать код | |
---|---|
CLOSE DATABASE |
Эта программы может быть включена в начало того же файла, в котором определяются классы. Также, Вы можете использовать команду SET PROCEDURE TO, чтобы указать программу с определениями класса и включать этот код в отдельную программу.