Table of Contents

Привязка данных

Как только контрол 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 — название поля, данные которого отображаются в контроле.

Смотрите также



* Эта страница была создана автоматически с помощью сервиса машинного перевода Яндекс Переводчик.