com.vaadin.ui.DateField - 在切换只读

时间:2015-04-30 09:28:18

标签: java vaadin vaadin7 vaadin4spring

我有一个带有DateField的表单,我希望能够在只读模式和非只读/编辑模式之间切换。

当该字段最初为只读且我切换为非只读时,则日历的时间部分无法正确编辑/显示。

当字段最初是非只读时,在预期的非只读和只读工作之间切换。问题是该字段最初需要是只读的。

我错过了什么或这是一个错误吗?

我使用vaadin 7.4.4和vaadin-spring-boot-starter-1.0.0.beta2。

@SpringUI()
@Theme("valo")
public class TestUI extends UI {

    @Override
    protected void init(VaadinRequest request) {
        DateField dateField = new DateField();
        dateField.setResolution(Resolution.MINUTE);
        dateField.setValue(new Date());
        dateField.setReadOnly(true);

        Button button = new Button("toggle read-only");
        button.addClickListener(event ->   dateField.setReadOnly(!dateField.isReadOnly()));

        VerticalLayout pageLayout = new VerticalLayout(dateField, button);
        pageLayout.setSpacing(true);
        pageLayout.setMargin(true);

        setContent(pageLayout);
    }
}

1 个答案:

答案 0 :(得分:2)

这是一个已知并报告的错误,您可以在Vaadin Trac错误报告系统中找到它 - Issue #17319

  

#17319 - 无法使用Resolution.MINUTE的只读日期字段进行编辑   适当

     

将具有Resolution.MINUTE的DateField创建为只读时   它的状态在运行时更改,小时和分钟字段不能   编辑。它们呈现为只读。如果未创建日期字段   作为只读,但它的状态在运行时更改,一切正常。   在版本7.2.1之前,此错误不存在。我不确定,但可能   与问题#10262有关。