从 SelectionChangeHandler 触发 ValueChangeEvent

fire ValueChangeEvent from SelectionChangeHandler

我有 4 个 DateBox,它们就像:

    date1.addValueChangeHandler(new CustomValueChangeHandler());
    date2.addValueChangeHandler(new CustomValueChangeHandler());
    date3.addValueChangeHandler(new CustomValueChangeHandler());
    date4.addValueChangeHandler(new CustomValueChangeHandler());

private class CustomValueChangeHandler implements ValueChangeHandler {
    public void onValueChange(ValueChangeEvent event)
    {

现在我有一个单选的单元格表,它的 selectionChange 就像:

selectionModel.addSelectionChangeHandler(new Handler() {
        @SuppressWarnings("deprecation")
        @Override
        public void onSelectionChange(SelectionChangeEvent event)
        {
            Person person = selectionModel.getSelectedObject();

            date1.setValue(person.getStartDate());
            date2.setValue(person.getEndDate());
            date3.setValue(person.getStartTime());
            date4.setValue(person.getEndTime());
        }
    });

选择更改事件设置日期值没问题,但问题是 date1、date2、date3、date4 有 ValueChangeHandler 而它们没有触发

setValue() 方法不会触发更改事件。您可以使用第二个参数强制触发事件。使用

date1.setValue(person.getStartDate(), true);