Вы должны переопределить метод рендеринга либо вашего CompositeCell
, либо CheckBoxCell
. Примерно так:
public class MyCompositeCell extends CompositeCell<Course>
{
@Override
protected <X> void render(Context ctx,Course value,
SafeHtmlBuilder sb, HasCell<Course, X> hasCell) {
if (hasCell.getCell() instanceof CheckBoxCell && !value.hasCheckBox())
return;
super.render(ctx,value, sb, hasCell);
}
Функция hasCheckBox()
является лишь примером. Либо у вас есть доступ к флажку в вашем DTO (Course
), либо вы можете передать флаг непосредственно в ячейку.
В качестве альтернативы вы можете изменить метод рендеринга вашего CheckBoxCell:
public class MyCheckBoxCell extends CheckBoxCell<Course> {
@Override
public void render(Context ctx,Transformation value, SafeHtmlBuilder sb) {
if (!value.hasCheckBox())
return;
super.render(ctx,value, sb);
}