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