0

正常に動作している動的に作成された HtmlPanelGrid があります。同じデータを使用したいのですが、今回はそれらをグループ化しますが、うまくいきません。現在の階層は次のとおりです。

Parent(HtmlPanelGrid)
    |-->Child-1(HtmlPanelGrid)
        |-->Child-1-1(Label/CommandButton)
        |-->Child-1-2(Label/CommandButton)
    |-->Child-2(HtmlPanelGrid)
        |-->Child-2-1(Label/CommandButton)
        |-->Child-2-2(Label/CommandButton)

通常、私は次のように表示していました。

<h:panelGrid binding="#{configurationManagedBean.dynamicAddonGrid}"/>

ここで、dynamicAddonGrid は親要素を表します。しかし、すべての第 1 レベルの子要素に対して新しい panelGrid を表示したいと考えています。そこで、次のように変更しました。

<ui:repeat var="group" value="#{configurationManagedBean.dynamicAddonGrid.children}">
    <h:panelGrid binding="#{group}" />
</ui:repeat>

しかし、それは何も示していません。これは、バッキング Bean でこの階層を作成する方法です。

HtmlPanelGrid dynamicAddonGrid = new HtmlPanelGrid();
for(int gridIndex = 0; gridIndex < addonGrids.size(); gridIndex++){
    AddonGrid currentGrid = addonGrids.get(gridIndex);

    HtmlPanelGrid addonComponentPanelGrid = new HtmlPanelGrid();
    addonComponentPanelGrid.setTitle(currentGrid.getDefinition());
    addonComponentPanelGrid.setColumns(8);
    for(int addonIndex = 0; addonIndex < currentGrid.getAddonList().size() ;addonIndex++){
        Addon currentAddon = currentGrid.getAddonList().get(addonIndex);

        HtmlOutputLabel labelComponent = new  HtmlOutputLabel();
        addonComponentPanelGrid.getChildren().add(labelComponent);

        HtmlCommandButton commandButton = new HtmlCommandButton();
        addonComponentPanelGrid.getChildren().add(commandButton);
    }   
    dynamicAddonGrid.getChildren().add(addonComponentPanelGrid);
}

明確にするために、関係のないビジネス ロジックは省略しました。

親要素と第 1 レベルの子要素の両方が HtmlPanelGrids ですが、どういうわけかグループ化できません。できるということですが、何も表示されません。何かを見落としているようです。どんな助けでも大歓迎です。

4

0 に答える 0