Для редактирования и отображения данных датасетов в карточке используются компоненты TssDBEditComponent
и TssDBViewComponent
. Добавление этих компонентов в дизайнтайм-конструкторе формы в основном определяет их расположение. Также в них указываются свойства DataSet
и FieldName
.
Во время исполнения в них встраиваются контролы класса, соответствующего типу данных поля или определяемого по названию поля. Это происходит без каких-либо действий разработчика формы, для целого типа встраивается однострочный эдит ограниченной ширины со спин-кнопками, для логического – комбобокс с двумя значениями Да
/Нет
и так далее.
В более сложных случаях тип контрола, содержание и характер сохранения данных в датасет задаётся при помощи эдит-формата – объекта-посредника между датасетами и визуальными контролами. Мы можем для какого-то поля встроить многострочный едит (мемо), создать комбобокс с данными другой формы в качестве источника строк выпадающего списка или использовать собственно написанный особый контрол. Подробнее об этом рассказано в главе Филд-форматы.
Свойства и поведение контролов определяются именем поля. То есть, для поля с конкретным именем обеспечивается единообразное поведение в любых формах.
Для отображения табличных данных используется контрол TssGrid
. Источником строк грида является датасет. Чтобы грид отобразил древовидную структуру, нужно описать ее в свойстве датасета TreeInfo
:
item_item_ID_Parent BY item_ID
Сначала внешний ключ, потом внутренний.
Вид грида задаётся свойством Options.DataManager
:
dmtStd
- таблица.
dmtSimpleList
– простой одностолбцовый список без разлиновки.
dmtGroupedList
– таблица с группами.
dmtCrossQuery
– перекрёстные данные.