Привязка данных¶
После того как элемент управления TreeList/TreeView привязан к источнику данных, он создаёт узлы (объекты TreeListNode) для записей источника данных. Изначально узлы пусты. Вам необходимо указать свойства записей данных (поля источника данных), значения которых отображаются в узлах.
Чтобы отображать значения в узлах TreeList, создайте связанные или несвязанные колонки в коллекции TreeListControl.Columns. Включите опцию TreeListControl.AutoGenerateColumns, чтобы автоматически генерировать недостающие колонки для всех свойств/полей источника данных после привязки элемента управления. Дополнительную информацию смотрите в разделах Колонки и Несвязанные колонки.
Элемент управления TreeView — это однорядная (однопанельная) версия TreeList с одной колонкой. Используйте свойство TreeViewControl.DataFieldName, чтобы указать, какие значения отображаются в его узлах в режиме привязки. Этот член определяет имя свойства/поля в источнике данных, данные которого отображаются элементом управления.
Свойство ItemsSource позволяет привязать элемент управления TreeList/TreeView к источнику данных, который содержит информацию об отношениях "родитель-потомок" между записями. Элементы управления поддерживают два типа источников данных, которые отличаются способом кодирования информации об иерархии:
- Self-Referential (плоский) источник данных.
- Иерархический источник данных
Self-Referential (плоский) источник данных¶
Self-Referential источник данных — это плоская таблица, коллекция или список, в котором записи имеют два служебных свойства/поля, используемых для создания отношений "родитель-потомок" между записями:
- Поле ключа (Key) — уникальный идентификатор записи.
- Поле ключа родителя (Parent Key) — хранит значение поля Key родительской записи.
Как правило, и поле Key, и поле Parent Key имеют целочисленный тип данных. Родительские и дочерние объекты данных всегда относятся к одному и тому же типу данных.
Дополнительную информацию смотрите в следующих разделах:
- Привязка к Self-Referential источнику данных
- Как создать TreeView и привязать его к Self-Referential источнику данных
Общий API¶
ItemsSource— источник данных элемента управления.KeyFieldName— имя поля, хранящего уникальные идентификаторы записей (значения поля Key).ParentFieldName— имя поля, хранящего идентификатор (значение поля Key) родителя записи.RootValue— значение поля Parent Key для корневого узла.
API TreeList¶
Columns— коллекция связанных и несвязанных колонок TreeList.AutoGenerateColumns— определяет, автоматически ли TreeList генерирует недостающие колонки для публичных свойств/полей, предоставляемых источником данных во время выполнения. Если коллекцияColumnsэлемента управления уже содержит колонку, связанную с конкретным свойством/полем, дополнительная колонка, связанная с тем же свойством/полем, автоматически не создаётся.AutoGenerateServiceColumns— определяет, автоматически ли TreeList создаёт колонки, связанные с полем Key и полем Parent Key. Это свойство действует, если включена опция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— имя поля, данные которого отображаются в элементе управления.
Смотрите также¶
- Привязка к иерархическим данным
- Привязка к Self-Referential источнику данных
- Несвязанные колонки
- Несвязанный режим
- Как создать TreeView и привязать его к Self-Referential источнику данных
- Как создать TreeList и привязать его к иерархическому источнику данных
* Эта страница переведена с использованием технологий машинного перевода.