Как динамически обновлять нижний колонтитул таблицы ячеек
Я пытаюсь добавить нижний колонтитул в celltable и не могу динамически изменить нижний колонтитул celltable, но я могу добавить его при создании столбцов, как показано ниже
cellTable.addColumn(qty, "Qty",Integer.toString(totalQty));
Это не я ищу, есть ли способ динамически установить нижний колонтитул для таблицы ячеек. Любая помощь?
1 ответ
Решение
Вам необходимо реализовать собственный заголовок и добавить его в столбец, который должен содержать этот нижний колонтитул. Например:
public class QuantityFooter extends Header<Number> {
private final Number totalQty;
public QuantityFooter(Number totalQty) {
super(new NumberCell());
this.totalQty = totalQty;
}
public void setQuantity(Number totalQty) {
this.totalQty = totalQty;
}
@Override
public Number getValue() {
return totalQty;
}
}
Затем добавьте его в столбец:
QuantityFooter quantityFooter = new QuantityFooter(0);
cellTable.addColumn(qty, new TextHeader("Qty"),quantityFooter );
Когда вам нужно обновить нижний колонтитул, вы просто позвоните quantityFooter.setQuantity(10)
и вам, вероятно, нужно перерисовать колонтитулы с redrawHeader()
а также redrawFooters()