Vaadin 8.1.7 网格与 ComponentRenderer

Vaadin 8.1.7 Grid with ComponentRenderer

首先对不起我糟糕的英语。 我有一个惰性模式的网格(使用数据提供者),它有一个包含 CheckBox 的列,有时是可见的,有时不是,这取决于数据。 当它显示复选框列显示正常但在对另一列进行排序后,复选框显示混合。

在对其他列进行排序后不应该出现的地方。数据正确。这是我的代码:

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());

请多多指教

也许你应该使用 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();
});