0

私はこの問題を抱えているので、私は夢中になります

私はこのメニューコンポーネントを持っています

<rich:panelMenuItem label="Users" name="Users"  action="#{tabsBean.createTabs('tab Users')}" render="tabs" />       

   <rich:panel>
      <h:panelGrid id="tabs" binding="#{tabsBean.panelGrid}"/>
   </rich:panel>

ユーザー項目メニューをクリックすると、新しいタブが追加されます

@ManagedBean
@SessionScoped
public class TabsBean {

private HtmlPanelGrid panelGrid;
private UITabPanel tabPanel;
private List<UITab> tabsList;
private Application application;


public TabsBean() {

    tabsList = new LinkedList<UITab>();
    FacesContext context = FacesContext.getCurrentInstance();
    application = context.getApplication();
    tabPanel = (UITabPanel)application.createComponent(UITabPanel.COMPONENT_TYPE);
    tabPanel.setSwitchType(SwitchType.ajax);

}

public void createTabs (String name){       


    UITab tab = new UITab();
    tab = (UITab)application.createComponent(UITab.COMPONENT_TYPE);
    tab.setName(name);
    tabPanel.getChildren().add(tab);

    //I would add here a component to my new tab

    panelGrid.getChildren().add(tabPanel);


}

すべて問題ありませんが、次の表のように、新しいタブにコンポーネントを追加したいと思います

 <rich:extendedDataTable id="UsersTable" value="#{userController.allUsers}" var="user" />
        <rich:column>
            <f:facet name="header">Id</f:facet>
            <h:outputText value="#{user.id}" />
        </rich:column>
        <rich:column>
            <f:facet name="header">Name</f:facet>
            <h:outputText value="#{users.name}" />

        </rich:column>
    </rich:extendedDataTable>

どのようにできるのか?

4

0 に答える 0