com.vaadin.ui.DateTimeField

Here are the examples of the java api com.vaadin.ui.DateTimeField taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

1 Examples 7

3 Source : DemoFastGrid.java
with Apache License 2.0
from TatuLund

/**
 * We bind each column to a field (shared by all rows) so that we can edit
 * each cell.
 */
private void bindColumnsToEditor() {
    TextField col1 = new TextField();
    TextField col3 = new TextField();
    NumberField col4 = new NumberField();
    TextField col5 = new TextField();
    TextField col6 = new TextField();
    DateTimeField col7 = new DateTimeField();
    DateField col8 = new DateField();
    CheckBox col9 = new CheckBox();
    col9.setDescription("Selecting this will disable Col6");
    PrefixComboBox<String> col10 = new PrefixComboBox<>();
    List<String> items = new ArrayList<>(Arrays.asList("small", "medium", "large"));
    // col10.setNewItemProvider(value -> {
    // items.add(value);
    // return Optional.ofNullable(value);
    // });
    col10.setEmptySelectionCaption("unsized");
    col10.setDataProvider(new ListDataProvider<String>(items));
    Binder<DemoColumns> binder = this.getEditor().getBinder();
    // Col1 simple string
    Binding<DemoColumns, String> col1Binding = binder.forField(col1).asRequired("Empty value not accepted").bind(DemoColumns::getCol1, DemoColumns::setCol1);
    this.addColumn(DemoColumns::getCol1).setCaption("Col1").setExpandRatio(1).setEditorBinding(col1Binding);
    // Col2 non-editable string
    this.addColumn(DemoColumns::getCol2).setCaption("No Edits").setId("noedit").setHidable(true).setWidth(150);
    // Col3 Integer
    Binding<DemoColumns, Integer> col3Binding = binder.forField(col3).withNullRepresentation("").withConverter(new StringToIntegerConverter("Must enter a number")).withValidator(new IntegerRangeValidator("Input integer between 0 and 10", 0, 10)).bind(DemoColumns::getCol3, DemoColumns::setCol3);
    this.addColumn(DemoColumns::getCol3).setCaption("Integer").setHidable(true).setWidth(150).setEditorBinding(col3Binding);
    // Col4 Float
    Binding<DemoColumns, Double> col4Binding = binder.forField(col4).withNullRepresentation("").withConverter(col4.getConverter("Must enter a number")).bind(DemoColumns::getCol4, DemoColumns::setCol4);
    this.addColumn(DemoColumns::getCol4).setCaption("Float").setHidable(true).setWidth(100).setEditorBinding(col4Binding);
    // Col 5 Integer
    Binding<DemoColumns, Integer> col5Binding = binder.forField(col5).withNullRepresentation("").withConverter(new StringToIntegerConverter("Must enter a number")).withValidator(new IntegerRangeValidator("Input integer between 0 and 10", 0, 10)).bind(DemoColumns::getCol5, DemoColumns::setCol5);
    this.addColumn(DemoColumns::getCol5).setCaption("Integer (2)").setHidable(true).setWidth(100).setEditorBinding(col5Binding);
    // Col6 Integer(3)
    Binding<DemoColumns, Integer> col6Binding = binder.forField(col6).withNullRepresentation("").withConverter(new StringToIntegerConverter("Must enter a number")).withValidator(new IntegerRangeValidator("Input integer between 0 and 10", 0, 10)).bind(DemoColumns::getCol6, DemoColumns::setCol6);
    this.addColumn(DemoColumns::getCol6).setId("col6").setCaption("Col6").setHidable(true).setWidth(100).setEditorBinding(col6Binding);
    // Col 7 DateTime
    // Need a zoneoffset for datetimefield
    OffsetDateTime odt = OffsetDateTime.now(ZoneId.systemDefault());
    ZoneOffset zoneOffset = odt.getOffset();
    SimpleDateFormat dateTimeFormat = (SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, UI.getCurrent().getLocale());
    Binding<DemoColumns, Date> col7Binding = binder.forField(col7).withConverter(new LocalDateTimeToDateConverter(zoneOffset)).bind(DemoColumns::getCol7, DemoColumns::setCol7);
    this.addColumn(DemoColumns::getCol7).setCaption("Date Time").setWidth(180).setEditorBinding(col7Binding).setRenderer(new DateRenderer(dateTimeFormat)).setHidable(true);
    // col 8 Date
    Binding<DemoColumns, Date> col8Binding = binder.forField(col8).withConverter(new LocalDateToDateConverter()).bind(DemoColumns::getCol8, DemoColumns::setCol8);
    SimpleDateFormat dateFormat = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT, UI.getCurrent().getLocale());
    this.addColumn(DemoColumns::getCol8).setCaption("Date").setWidth(120).setEditorBinding(col8Binding).setRenderer(new DateRenderer(dateFormat)).setHidable(true);
    // Col 9 Boolean
    Binding<DemoColumns, Boolean> col10Binding = binder.forField(col9).bind(DemoColumns::getCol9, DemoColumns::setCol9);
    this.addColumn(DemoColumns::getCol9).setCaption("Boolean").setHidable(true).setWidth(150).setEditorBinding(col10Binding);
    // Col 10 Combobox.
    Binding<DemoColumns, String> col11Binding = binder.forField(col10).bind(DemoColumns::getCol10, DemoColumns::setCol10);
    this.addColumn(DemoColumns::getCol10).setCaption("Combobox").setHidable(true).setWidth(150).setEditorBinding(col11Binding);
    for (int i = 0; i < 5; ++i) {
        demoList.add(new DemoColumns());
    }
    demoData.refreshAll();
    this.addItemClickListener(event -> {
        System.out.println("Item click event happens: " + event.gereplacedem().toString());
    });
    this.setSizeFull();
    // nav.setFocusedCell(2, 2, true);
    this.select(demoList.get(2));
    // this.setFrozenColumnCount(2);
    this.appendHeaderRow();
    for (Column<DemoColumns, ?> col : this.getColumns()) {
        if (col.getId() == null || (col.getId() != null && !(col.getId().equals("noedit") || col.getId().equals("delete")))) {
            CheckBox editable = new CheckBox();
            editable.setValue(true);
            editable.addValueChangeListener(event -> {
                if (!getEditor().isOpen()) {
                    if (event.getValue()) {
                        col.setEditable(true);
                    } else {
                        col.setEditable(false);
                    }
                } else if (event.isUserOriginated()) {
                    editable.setValue(!editable.getValue());
                }
            });
            this.getHeaderRow(1).getCell(col).setComponent(editable);
        }
    }
}