Не думаю, что вы четко определили, что делаете.
Это две таблицы разных реализаций?Если это так, то ваш код верен - вы должны заменить старый компонент новым, а затем добавить новый в ответ ajax.
Реально, хотя, я думаю, у вас есть 1 компонент таблицыреализация.
То, что вам нужно сделать, выглядит примерно так:
public class RandomNumberListModel extends LoadableDetachableModel {
private int upperBound;
public RandomNumberListModel(int upperBound) {...}
public void setUpperBound(int upperBound) {...}
protected Object load() {
// generate random number list using upper bound
// return list
}
}
...
final MyTableComponent table = new MyTableComponent(new RandomNumberListModel(30));
add(table);
AjaxLink link = new AjaxLink("myButton") {
public void onClick(final AjaxRequestTarget target) {
table.getModel().setUpperBound(100);
target.addComponent(table);
}
};
add(link);
(Правка) Я добавил динамическую модель многократного использования, чтобы проиллюстрировать, как она будет работать.Есть разные способы реализации этого, в зависимости от того, что вы хотите использовать повторно.Ключевым моментом является то, что модель генерирует список динамически, т. Е. Для каждого запроса, а верхняя граница диапазона номеров может управляться в обратном вызове onClick.