3.5.2.2.3. ButtonsPanel
ButtonsPanel
- контейнер, унифицирующий использование и размещение компонентов (чаще всего кнопок) для управления данными в таблице.
XML-имя компонента: buttonsPanel
.
Пример описания ButtonsPanel
в XML-дескрипторе экрана:
<table id="customersTable" dataContainer="customersDc" width="100%">
<actions>
<action id="create" type="create"/>
<action id="edit" type="edit"/>
<action id="remove" type="remove"/>
<action id="excel" type="excel"/>
</actions>
<columns>
<column id="name"/>
<column id="email"/>
</columns>
<rowsCount/>
<buttonsPanel id="buttonsPanel" alwaysVisible="true">
<button id="createBtn" action="customersTable.create"/>
<button id="editBtn" action="customersTable.edit"/>
<button id="removeBtn" action="customersTable.remove"/>
<button id="excelBtn" action="customersTable.excel"/>
</buttonsPanel>
</table>
Элемент buttonsPanel
можно разместить как внутри table
, так и в произвольном месте экрана.
Если buttonsPanel
находится внутри table
, то она комбинируется с компонентом rowsCount таблицы, тем самым оптимально расходуя место по вертикали. Кроме того, в этом случае при открытии экрана выбора методом Frame.openLookup()
(например, из компонента PickerField) панель кнопок скрывается.
Атрибут alwaysVisible
служит для отключения скрытия панели в экране выбора при его открытии методом Frame.openLookup()
. Если значение атрибута равно true
, то панель с кнопками не скрывается. По умолчанию значение атрибута равно false
.
События щелчка по области компонента buttonsPanel
можно отслеживать с помощью интерфейса LayoutClickListener
.
В компоненте ButtonsPanel
можно использовать горячие клавиши. Задать сочетание клавиш и вызываемое действие можно с помощью метода addShortcutAction()
:
buttonsPanel.addShortcutAction(new ShortcutAction("SHIFT-A", shortcutTriggeredEvent ->
notifications.create()
.withCaption("SHIFT-A action")
.show()
));
- Атрибуты buttonsPanel
-
align - alwaysVisible - caption - captionAsHtml - contextHelpText - contextHelpTextHtmlEnabled - css - description - descriptionAsHtml - enable - expand - box.expandRatio - height - id - stylename - visible - width
- API