Привязка данных
Как только контрол TreeList/TreeView привязан к источнику данных, он создает узлы (объекты TreeListNode
) для записей источника данных. Узлы изначально пусты. Вам необходимо указать свойства записи данных (поля источника данных), значения которых отображаются в узлах.
Чтобы отобразить значения в узлах TreeList, создайте связанные или несвязанные столбцы в коллекции TreeListControl.Columns
. Включите опцию TreeListControl.AutoGenerateColumns
, чтобы автоматически генерировать отсутствующие столбцы для всех свойств/полей источника данных после привязки контрола. Смотрите разделы Столбцы и Несвязанные столбцы для получения дополнительной информации.
Контрол TreeView - это версия TreeList с одним столбцом. Используйте свойство TreeViewControl.DataFieldName
, чтобы указать, какие значения отображать в его узлах в режиме привязки. Этот элемент определяет имя свойства/поля в источнике данных, данные которого отображаются контролом.
Свойство ItemsSource
позволяет привязать контрол TreeList/TreeView к источнику данных, который содержит информацию о родительско-дочерних связях между записями. Контролы поддерживают два типа источников данных, которые отличаются способом кодирования информации об иерархии:
- Самореферентный (плоский) источник данных.
- Иерархический источник данных
Самореферентный (плоский) источник данных
Самореферентный источник данных - это плоская таблица, коллекция или список, в которых записи имеют два служебных свойства/поля, используемых для создания родительско-дочерних связей между записями:
- Ключевое поле — уникальный идентификатор записи.
- Поле родительского ключа — хранит значение ключевого поля родительской записи.
Как правило, и ключевое поле, и родительское ключевое поле имеют целочисленный тип данных. Родительский и дочерний объекты данных всегда имеют один и тот же тип данных.
Смотрите Привязка к самореферентному источнику данных для получения информации о том, как привязать контролы TreeList/TreeView к самореферентному (плоскому) источнику данных.
Общий API
ItemsSource
— Источник данных контрола.KeyFieldName
— имя поля, в котором хранятся уникальные идентификаторы записей (значения ключевых полей).ParentFieldName
— Имя поля, в котором хранится идентификатор (значение ключевого поля) родительской записи.RootValue
— значение поля родительского ключа корневого узла.
API контрола TreeList
Columns
— Коллекция связанных и несвязанных столбцов TreeList.AutoGenerateColumns
— Указывает, будет ли TreeList автоматически генерировать отсутствующие столбцы для публичных свойств/полей в источнике данных. Если коллекцияColumns
контрола уже содержит столбец, привязанный к определенному свойству/полю, автоматически не генерируется дополнительный столбец, привязанный к тому же свойству/полю.AutoGenerateServiceColumns
— Указывает, будет ли TreeList автоматически генерировать столбцы, привязанные к ключевому полю и родительскому ключевому полю. Это свойство действует, если включена опцияAutoGenerateColumns
.
API контрола TreeView
DataFieldName
— название поля, данные которого отображаются в контроле.
Иерархический источник данных
В иерархическом источнике данных бизнес-объект (запись) имеет свойство, в котором хранится коллекция дочерних объектов данных. Родительский и дочерний объекты данных могут быть разных типов, но у них должен быть общий набор свойств, которые контролы TreeView/TreeList отображают в виде столбцов.
При привязке к иерархическому источнику данных TreeList и TreeView контролируют загрузку узлов по требованию: дочерние узлы динамически загружаются при развертывании родительского узла. Это накладывает ограничения на функции проверки узлов и фильтрации/поиска.
Установите для свойства AllowDynamicDataLoading
значение false
, чтобы загрузить все узлы одновременно, как только вы привяжете контрол к источнику данных.
Смотрите Привязка к иерархическим данным для получения дополнительной информации.
Общий API
ItemsSource
— Установите это свойство для объекта, содержащего данные (например, коллекцию корневых объектов), используемые для создания корневых узлов.ChildrenSelector
— селектор, который возвращает дочерние объекты для каждого бизнес-объекта (записи). Используйте либоChildrenSelector
, либоChildrenFieldName
.ChildrenFieldName
— имя свойства (поля), в котором хранятся дочерние объекты для каждого бизнес-объекта. Используйте либоChildrenSelector
, либоChildrenFieldName
.HasChildrenFieldName
— Имя логического свойства, которое возвращаетtrue
, если у объекта есть дочерние объекты. СвойствоHasChildrenFieldName
позволяет контролу динамически определять видимость кнопок "Развернуть" ('+'). ИспользуйтеHasChildrenFieldName
вместе со свойствомChildrenFieldName
.
API контрола TreeView
DataFieldName
— название поля, данные которого отображаются в контроле.
Смотрите также
- Привязка к иерархическим данным
- Привязка к самореферентному источнику данных
- Несвязанные столбцы
- Режим без привязки к данным
* Эта страница была создана автоматически с помощью сервиса машинного перевода Яндекс Переводчик.