Свойство **dataSet** задает исходный набор данных, на основе которого строится дерево.

По своей структуре данное свойство является массивом. Каждый элемент этого массива задается в виде объекта, у которого могут быть объявлены различные свойства. Одно из этих свойств определяет надпись, отображаемую у узла дерева.
Если имя этого свойства отличается от значения **name**, которое используется по умолчанию, то его необходимо указать явно в свойстве **keyName** самого компонента.

Например:

```javascript _run_line_edit_loadoda_[my-component.js]_h=220_
import '/components/grids/tree/tree.js';
ODA({
    is: 'my-component',
    template: `
        <span>Надпись</span>
        <select ::value="keyName">
            <option selected value="col1">col1</option>
            <option value="name">name</option>
            <option value="col3">col3</option>
        </select>
        <oda-tree :data-set :key-name></oda-tree>
    `,
    props: {
        dataSet: [
            {col1: "1 строка", name: "Cтрока 1"},
            {col1: "2 строка", name: "Cтрока 2", $expanded: true,
                items:[
                    {col1:"2.1 строка", name: "Cтрока 2.1"},
                    {col1:"2.2 строка", name: "Cтрока 2.2",
                    items:[
                        {col1:"2.2.1 строка", name: "Cтрока 2.2.1"},
                        {col1:"2.2.2 строка", name: "Cтрока 2.2.2"},
                        {col1:"2.2.3 строка", name: "Cтрока 2.2.3"},
                    ]},
                    {col1:"2.3 строка", name: "Cтрока 2.3"}
                ]
            },
            {col1: "3 строка", name: "Cтрока 3"},
        ],
        keyName: "name",
    }
});
```

Вложенные узлы у каждого объекта массива задаются с помощью свойства **items**. Если необходимо, чтобы эти узлы изначально были развернуты, то у родительского узла нужно указать свойство **$expanded** со значением **true**.

У узлов дерева могут быть и другие свойства:

1. **drop** — определяет, может ли узел быть контейнером для вставки при перетаскивании других узлов левой кнопкой мыши.
1. **drag** — определяет, можно ли узел перетаскивать левой кнопкой мыши.
1. **checked** — определяет, выбран или нет узел, что отображается с помощью кнопок множественного выбора, если свойство **allowCheck** установлено в значение **true**.
1. **template** — определяет имя компонента, который будет использоваться для отображения именно этого узла дерева. По умолчанию все узлы дерева отображаются с помощью компонента **oda-table-cell**.
1. **icon** — определяет иконку, которая будет отображаться у узла дерева при использовании пользовательского компонента. В компоненте **oda-table-cell** по умолчанию иконка не предусмотрена. Ее нужно задавать в пользовательском компоненте, как показана в описании свойства **defaultTemplate**.
