3.5.3.2. «Страница» и «Таблица»

Описание статической таблицы выглядит следующим образом

{
    "id": "simple-table",                 // идентификатор компонента
    "type": "table",                      // тип компонента
    "config": {
        "fixedLayout": false,             // фиксированная разметка
        "format": "${salary} - ${amount}",// форматная строка
        "delimeter": ""                   // разделитель свертки
    },
    "properties": [],                     // массив компонентов, так же как в форме
    "layout": {},                         // разметка, так же как в форме
    "style": {                            // стиль компонента
        "border": "1",                    // отображать границы
        "wrap": true                      // выводить содержимое в виде абзаца
    }
}

Описание динамической таблицы выглядит следующим образом

{
    "id": "table-id",       // идентификатор компонента
    "type": "table",        // тип компонента
    "config": {
        "appendRows": true,   // добавлять строки в режиме заполнения
        "init-row": 2,        // количество отображаемых строк при создании
        "fixedLayout": false, // фиксированная разметка
        "isHaveHeaders": true // добавить заголовок таблицы
    }
    "properties": [],       // массив компонентов, так же как в форме
    "layout": {},           // разметка, так же как в форме
    "style": {
        "border": "1",      // отображать границы
        "wrap": true        // выводить содержимое в виде абзаца
    }
}

Модель данных динамической таблицы

{
    "id": "person-list",                // идентификатор компонента
    "type": "appendable_table",         // тип компонента
    "key": "значение свертки таблицы",
    "data": [{                          // массив данных таблицы
        "id": "person-b1",              // компонент person в первой строке таблицы
        "type": "textbox",
        "value": "Иванов Иван"
    },
    {
        "id": "age-b1",                 // компонент age в первой строке таблицы
        "type": "numericinput",
        "value": "23",
        "key": "23"
    },
    {
        "id": "person-b2",              // компонент person во второй строке таблицы
        "type": "textbox",
        "value": "Сериков Серик"
    },
    {
        "id": "age-b2",                 // компонент age во второй строке таблицы
        "type": "numericinput",
        "value": "25",
        "key": "25"
    }
    ]
}

Примечание

Компоненты внутри таблицы имеют идентификаторы, т.к. таблица может иметь несколько блоков, чтобы идентификаторы не дублировались добавляется постфикс -bN, где N номер блока таблицы, нумерация блоков начинается с 1. Например, если компонент в таблице имеет идентификатор cmp, то значения идентификаторов для блоков будут иметь вид cmp-b1, cmp-b2 и т.д. Окончание -bN должно иметь одинаковый номер N для компонентов одного блока.


class AS.FORMS.TableModel()

Модель компонентов «Страница» и «Таблица»

AS.FORMS.TableModel.bus

Дополнительные типы событий

tableRowAdd - событие добавления блока в дин таблицу

Object event: возникшее событие

AS.FORMS.TableModel() model: модель проигрывателя

массив AS.FORMS.TableModel() models: модели добавленного блока дин таблицы

tableRowDelete - событие удаления блока дин таблицы
Object event: возникшее событие
AS.FORMS.TableModel.getBlockNumbers()
Результат:массив с номерами блоков дин таблицы, поскольку блоки из дин таблицы удаляются и добавляются, то номер блоков идут не по порядку, например [1, 5, 6, 8] и это не будет ошибкой
AS.FORMS.TableModel.getModelWithId(cmpId[, tableId[, blockNumber])

Получить модель компонента по его идентификатору

param String cmpId:
 идентификатор компонента
param String tableId:
 идентификатор динамической таблицы
param Number blockNumber:
 номер блока динамической таблицы
returns:AS.FORMS.Model()
AS.FORMS.TableModel.createRow()

Добавляет блок таблицы

AS.FORMS.TableModel.removeRow(blockIndex)

Удаляет блок таблицы

Аргументы:
  • blockNumber (Number) – индекс блока дин таблицы (по порядку)
AS.FORMS.TableModel.removeRowByBlockNumber(blockNumber)

Удаляет блок таблицы

Аргументы:
  • blockNumber (Number) – номер блока дин таблицы
AS.FORMS.TableModel.getTextValue()

Возвращает форматированное значение свертки

Результат:значение свертки
AS.FORMS.TableModel.isHaveHeader()

Наличие заголовка

AS.FORMS.TableModel.isPage()

Является страницей

AS.FORMS.TableModel.isStatic()

Является статической таблицей

AS.FORMS.TableModel.isParagraph()

Свертка включена


class AS.FORMS.TableStaticView()

Отображение статической таблицы или страницы

AS.FORMS.TableStaticView.getRowsCount()

Возвращает количество рядов таблицы, не обязательно равно числу блоков дин таблицы, посклько блок может состоять из сколько угодно рядов

AS.FORMS.TableStaticView.setColumnVisible(columnNumber, visible)

Делает столбец таблицы видимым / невидимым

Аргументы:
  • columnNumber (Number) – номер столбца
  • visible (boolean) – видимый
AS.FORMS.TableStaticView.getInvisibleColumns()

Возвращает список невидимых столбцов

AS.FORMS.TableStaticView.getViewWithId(cmpId[, tableId[, tableBlockIndex]])

Получение отображения компонента с указанным идентификатором в указанной таблице и указанном блоке, если идентификатор таблицы не указан, то ищется модель компонента на странице или в статических таблицах

Аргументы:
  • cmpId (String) – идентификатор компонента
  • tableId (String) – идентификатор динамической таблицы
  • tableBlockIndex (Number) – номер блока динамической таблицы
Результат:

AS.FORMS.View() отображение компонента

class AS.FORMS.TableDynamicView()

Отображение динамической таблицы

AS.FORMS.TableDynamicView.setEnabled(enabled)

Разрешить пользователю добавлять и удалять блоки, при этом программная возможность остается

Аргументы:
  • enabled (boolean) – разрешить добавлять и удалять блоки
AS.FORMS.TableDynamicView.setColumnVisible(column, visible)

Сделать столбец таблицы видимым

Аргументы:
  • column (Number) – номер столбца таблицы
  • visible (boolean) – является видимым
AS.FORMS.TableDynamicView.getViewWithId(cmpId[, tableId[, tableBlockIndex]])

Получить отображения компонента с указанным идентификатором в указанной таблице и указанном блоке, если идентификатор таблицы не указан, то ищется модель компонента на странице или в статических таблицах

Аргументы:
  • cmpId (String) – идентификатор компонента
  • tableId (String) – идентификатор динамической таблицы
  • tableBlockIndex (Number) – номер строки динамической таблицы
Результат:

object отображение компонента

AS.FORMS.TableDynamicView.mergeCell(row, column, rows, cols)

Объединить ячейки в блоке

Аргументы:
  • row (Number) – номер ряда таблицы
  • column (Number) – номер столбца таблицы
  • rows (Number) – количество рядов для объединения
  • cols (Number) – количество столбцов для объединения
AS.FORMS.TableDynamicView.splitCell(row, column)

Разъединить ячейки

Аргументы:
  • row (Number) – номер ряда таблицы
  • column (Number) – номер столбца таблицы
class AS.FORMS.TableParagraphView()

Отображение динамической таблицы в свертке