Vaadin 8.1.7网格与ComponentRenderer

时间:2017-12-11 10:54:05

标签: java vaadin8

首先抱歉我的英语不好。 我有一个懒惰模式的网格(使用数据提供程序),它有一个包含CheckBox的列,somtimes是可见的,sometimse不是,依赖于数据。  当它显示复选框列显示正常但在对另一列进行排序后,复选框显示混合。

在排序其他列后不应出现的情况。数据是正确的。这是我的代码:

Grid.Column col = getGrid().addColumn(( EventStorage source ) -> {
    if ( source.getModel().hasDelegate()) {
        source.setVisibleCheckBox(Boolean.FALSE);
        source.setCheckBoxEnable(Boolean.FALSE);
    } else {
        source.setVisibleCheckBox(Boolean.TRUE);
        source.setCheckBoxEnable(Boolean.TRUE);
    }
    return source.getCheckBox();
}, new ComponentRenderer());

请给我建议。

1 个答案:

答案 0 :(得分:1)

也许你应该使用addComponentColumn()?所以不是addColumn(..)& ComponentRenderer。像

Grid.Column col = getGrid().addComponentColumn(( EventStorage source ) -> {
   if ( source.getModel().hasDelegate()) {
      source.setVisibleCheckBox(Boolean.FALSE);
      source.setCheckBoxEnable(Boolean.FALSE);
   } else {
      source.setVisibleCheckBox(Boolean.TRUE);
      source.setCheckBoxEnable(Boolean.TRUE);
   }
   return source.getCheckBox();
});