Свойство **columns** предназначено для задания параметров столбцов таблицы.

Это свойство является массивом, в котором задаются объекты, описывающие свойства соответствующих столбцов таблицы.

Например:

```javascript _run_line_edit_loadoda_[my-component.js]_h=260_
import '/components/grids/table/table.js';
ODA({
    is: 'my-component',
    template: `
        <oda-table ref="table" :data-set show-header :columns show-footer col-lines></oda-table>
    `,
    props: {
        columns: [
            {name: 'col1', label: '1 фиксированный столбец', fix: 'left', width: '150'},
            {name: 'col2', label: 'Расширенный столбец', $expanded: true,
                items: [
                    {name: 'col21', label: 'Вложенный столбец 1', summary: 'count'},
                    {name: 'col22', label: 'Вложенный столбец 2', summary: 'sum'}
                ]
            },
            {name: 'col3', label: 'Дерево', treeMode: true},
            {name: 'col4', label: 'Фиксированный столбец 2', fix: 'right'},
        ],
        dataSet: [
            {col1: "1", col21: "1 Строка", col22: "1", col3: "Узел 1", col4: "1.0"},
            {col1: "2", col21: "2 Строка", col22: "2", col3: "Узел 2", col4: "2.0"},
            {col1: "3",col21: "3 Строка", col22: "3",  col3: "Узел 3", col4: "3.0",
                items:[
                    {col3:"Узел  3.1"},
                    {col3:"Узел 3.2"},
                    {col3:"Узел 3.3"},
                ]
            },
        ]
    }
});
```

Свойства столбцов имеют следующее назначение:

1. **name** – название столбца.

    Название столбца определяет имя свойства, значения которого будут отображаться в виде узлов дерева из набора данных **dataSet**.
1. **label** – надпись заголовка столбца.

    Если это свойство не указано, то в заголовке столбца название будет формироваться на основе свойств **name**.
1. **fix** – задает расположение фиксированных столбцов.

    Если это свойство имеет значение **left**, то столбец будет прижат к левой границе контейнера. При значении **right** — к правой границе. При любом другом значение столбец будет выделен другим стилем в том месте, в котором он был задан в массиве **columns**.
1. **treeMode** – режим отображения данных столбца в виде дерева.

    При значении **true** данные в ячейке столбца будут отображаться в виде дерева. Вложенные узлы дерева должны находится в массиве с именем **items**.
1. **items** – массив вложенных заголовков.

    Каждый заголовок таблицы может иметь подзаголовки, которые указываются также как и обычные столбцы в виде объектов
1. **width** – ширина столбца.

    Если это свойство не будет задано, то ширина столбца будет задаваться автоматически по его содержимому.
1. **summary** – задает вид агрегирования значений ячеек столбца.

    Если это свойство имеет значение **sum**, то в нижнем колонтитуле столбца будет выводится рассчитанная сумма значений всех его ячеек. При использовании значения **count** в нижнем колонтитуле будет выводиться общее количество ячеек.
