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