Таблица (table)

Этот атрибут позволяет задать произвольные табличные данные в контексте сборки.

../../../../_images/table_img1.png

Пример таблицы в контексте интерфейса редактирования данных страницы

В контексте данного примера мы можем указать следующую разметку:

<html>
<body>
<h1>${asm('title')}</h1>

$!{asm('parrots').asTable.toHtml()}

#set(Table parrots = asm('parrots'))

<br>Вид Глаша: ${parrots.find('Глаша')}
<br>Возраст Глаша ${parrots.find('Глаша', 2)}
</body>
</html>

И получаем:

../../../../_images/table_img2.png

В указанной разметке выражение $!{asm(‘parrots’).asTable.toHtml()} мы выводим таблицу в виде html. Далее, с помошью ${parrots.find(‘Глаша’) выводим вторую колонку строки, для которой значение первой колонки равно переданному атрибуту Глаша.

Использование table атрибутов в разметке страниц.

UI атрибута Table

Панель инструментов таблицы:

../../../../_images/table_img3.png
Элемент UI Описание
../../../../_images/table_img4.png Добавляет новую строку в таблицу
../../../../_images/table_img5.png Удаляет выбранные строки
../../../../_images/table_img6.png Задает количество колонок в таблице

com.softmotions.ncms.mhttl.Table

String Table.find(firstColVal[, String def])

Поиск строки в таблице со значением первой колонки строки, равным firstColVal. В случае, если строка найдена, будет возвращено значение второй колонки искомой строки.

Аргументы:
  • def (String) – Значение, которое будет возвращено, если строка не найдена; по умолчанию null.
String Table.find2(firstColVal[, String def])

Поиск строки в таблице со значением первой колонки строки, равным firstColVal. В случае, если строка найдена, будет возвращено значение третьей колонки искомой строки.

Аргументы:
  • def (String) – Значение, которое будет возвращено, если строка не найдена, по умолчанию null.
String Table.find2(firstColVal[, String def])

Поиск строки в таблице со значением первой колонки строки, равным firstColVal. В случае, если строка найдена, будет возвращено значение четвертой колонки искомой строки.

Аргументы:
  • def (String) – Значение, которое будет возвращено, если строка не найдена, по умолчанию null.
String Table.find(String firstColVal[, int colIndex][, String def])

Поиск строки в таблице со значением первой колонки строки, равным firstColVal. В случае, если строка найдена, будет возвращено значение колонки с индексом colIndex искомой строки.

Аргументы:
  • firstColVal (int) – Индекс колонки, значение которой будет возвращего. По умолчанию 1 (вторая колонка при индексации от 0).
  • def (String) – Значение, которое будет возвращено, если строка не найдена, по умолчанию null.
String Table.toHtml([Map<String,?> params]):()

Возвращает текущую таблицу в виде html разметки.

Пример таблица без заголовков и с css классом wide:

${asm('table').toHtml(['noHeader':true, 'tableAttrs':'class="wide"'])}

В опциональных параметрах настройки генерации html таблицы params могут содержаться следующие пары:

  • noEscape => Boolean|String - не осуществлять html эскейпинг значений ячеек таблицы. По умолчанию false.
  • noHeader => Boolean|String Не отображать первую строку в качестве заголовка таблицы. По умолчанию false.
  • tableAttrs => String Дополнительные атрибуты таблицы.
Аргументы:
  • params (Map<String,?>) – Опциональные параметры настройки генерации html таблицы.