2011-01-31 4 views
-2

동적으로 jsf dataTable을 만들어야합니다. 즉, 열이 달라지며 런타임에 결정됩니다. 모든 예제가 도움이 될 것입니다. 자신에게 어쩌면동적으로 jsf dataTable을 생성합니다.

+5

귀하의 노력은 감사하겠습니다. 이것은 코드 생성 기계가 아닙니다. –

+4

'QuestionNotFoundException'입니다. 명확한 문제를 지정하십시오. 정확히 어느 시점에서 어려움을 겪고 있습니까? – BalusC

+0

@Andrew : 예제 코드를 요청했습니다. 올바른 방향으로 나를 가리키는 URL 일 수 있습니다. 나는 우리가 서로 돕기 위해 여기 있다고 생각했습니다. BTW 나는이 문제를 해결했다. – SPD

답변

3

태그 TR (외부 루프), TD (내부 루프)를 반복 (당신이 Facelets의를 사용하는 경우) 및 렌더링 :

-SPD

     <ice:dataTable var="item" 
          value="#{section.rowDataModel}"> 
          <ice:columns value="#{section.columnDataModel}" 
           var="column"> 
           <f:facet name="header"> 
            <ice:panelGroup> 
             <ice:outputText value="#{column.columnName}" style="#{column.columnWidth}"/> 
            </ice:panelGroup> 
           </f:facet> 
           <!-- display the table cell values--> 
           <ice:panelGroup 
            style="text-align: center; white-space: nowrap;"> 
            <ice:inputText value="#{section.columnValue}" /> 
           </ice:panelGroup> 
          </ice:columns> 
         </ice:dataTable> 
1

둥지 C를 시도해보십시오 대해 forEach 또는 UI

<h:dataTable id="myTable" bind="#{myBean.table}"... /> 

콩 : 당신은 데이터 테이블을 결합 할 수

public class MyBean() { 
    private HtmlDataTable dt; 

    public MyBean() { 
     initTable(); 
    } 

    private initTable() { 
     dt = new HtmlDataTable(); 
     //Add here your columns using HtmlColumn 
     HtmlColumn hc = new HtmlColumn(); 

     //You can set colum values using ValueExpression 
     //And add column to table using getChildren().add(hc); 
     (...) 
    } 
    //Getters and setters 
} 

ValueExpression에 대한 자세한 내용은 here을 참조하십시오.

h : dataTable 또는 rich : dataTable을 자유롭게 사용하십시오. h : column 또는 rich : column과 동일하지만 구성 요소 이름이 here인지 확인하십시오.

관련 문제