Здесь вы можете использовать компонент panelGrid, динамически указывать количество столбцов.
Затем вы можете добавить другие вещи в PanelGrid.
Код страницы:
<ice:inputText value="#{bean.noOfColumns}"
<ice:panelGrid columns="#{bean.noOfColumns}" binding="#{bean.gridComponent}">
Код бобов основы:
//---
for(int i=0; i < noOfColumns; i++)
gridComponent.getChildren().add(uiComponent);
//---
Вы можете добавить любой пользовательский компонент соответственно.