~~NOTRANS~~
~~Title: Vaadin UI code snippets~~
We have a list of useful code snippets for you. Simply use them for your application. All snippets are free to use and licensed under [[https://www.apache.org/licenses/LICENSE-2.0|Apache 2.0]].
==== Checkbox in Table Header ====
If you want to show a checkbox in the table header of a v7 Table:
{{:vaadin:checkbox_tableheader.png?nolink|}}
use following code:
book.getRowDefinition().getColumnDefinition("CHECK").setSortable(false)
book.getRowDefinition().getColumnDefinition("CHECK")
.setLabel("");
and to receive events from the checkbox:
JavaScript.getCurrent().addFunction("selectAllListener", new JavaScriptFunction()
{
public void call(JsonArray arguments)
{
System.out.println("Pressed!");
}
});
==== Checkbox in Grid Header ====
If you want to show a checkbox in the header of a Grid:
{{:vaadin:grid_checkbox.png?nolink|}}
use following code:
CheckBox cbx = new CheckBox();
cbx.addValueChangeListener(new ValueChangeListener()
{
@Override
public void valueChange(ValueChangeEvent event)
{
System.out.println("Pressed!");
}
});
UIFactoryManager.getFactory().invokeLater(() ->
{
// Cast the resource to a Grid.
((Grid)((VaadinGrid)navLoggings.getUIResource()).getResource())
// Get the first (automatically added) row.
.getHeaderRow(0)
// Get the cell for the column we want.
.getCell("CHECK")
// Add the component.
.setComponent(cbx);
});
==== Disable autocomplete ====
You have different options:
1) Disable for a specific editor
((IAutoCompleteFeature)editCompanyHeadofdepartmentsurname.getUIResource()).setAutoComplete(false);
2) Disable for the cell editor
ICellEditor ced = UICellEditor.getCellEditor(book, "COLUMN");
//if you set a custom cell editor
if (ced instanceof UICellEditor)
{
ced = (ICellEditor)((UICellEditor)ced).getUIResource();
}
((IAutoCompleteFeature)ced).setAutoComplete(false);
Be careful with cell editors, because if no custom cell editor was set, the default (global) cell editors will be used. If you change the autocomplete feature for the global text cell editor, all editors are affected.
It's a good idea to set a custom cell editor:
book.getRowDefinition().getColumnDefinition("COLUMN").getDataType().setCellEditor(new UITextCellEditor());