21. Визуальные компоненты

Эдит

Для редактирования и отображения данных датасетов в карточке используются компоненты TssDBEditComponent и TssDBViewComponent. Добавление этих компонентов в дизайнтайм-конструкторе формы в основном определяет их расположение. Также в них указываются свойства DataSet и FieldName.

Во время исполнения в них встраиваются контролы класса, соответствующего типу данных поля или определяемого по названию поля. Это происходит без каких-либо действий разработчика формы, для целого типа встраивается однострочный эдит ограниченной ширины со спин-кнопками, для логического – комбобокс с двумя значениями Да/Нет и так далее.

В более сложных случаях тип контрола, содержание и характер сохранения данных в датасет задаётся при помощи эдит-формата – объекта-посредника между датасетами и визуальными контролами. Мы можем для какого-то поля встроить многострочный едит (мемо), создать комбобокс с данными другой формы в качестве источника строк выпадающего списка или использовать собственно написанный особый контрол. Подробнее об этом рассказано в главе Филд-форматы.

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

Грид

Для отображения табличных данных используется контрол TssGrid. Источником строк грида является датасет. Чтобы грид отобразил древовидную структуру, нужно описать ее в свойстве датасета TreeInfo:

item_item_ID_Parent BY item_ID

Сначала внешний ключ, потом внутренний.

Вид грида задаётся свойством Options.DataManager: