2012-12-06 3 views
1

하나의 열에 하나의 버튼이있는 정적 데이터가 포함 된 하나의 행이 필요한 primefaces를 사용하여 jsf에서 datatable을 만들어야합니다.이 버튼을 클릭하면 다른 열 (within 같은 행) 레이블로 일부 입력 텍스트 필드를 표시해야하며 데이터는 데이터베이스에서 채워 져야합니다. 그것은 두 개의 레코드가 오는 경우 그 행의 열은 레코드 수에 따라 행 수로 확장되어야 함을 의미합니다 .It 하나의 열은 정적이며 해당 행의 다른 열은 동적으로 확장되어야하고 일부 구성 요소는 row.please의 열에 추가되어야 함을 의미합니다.화면을 primefaces 데이터 테이블로 변환

답변

0

안녕하세요 어딘가에 내가 동적으로 행을 만들기위한 샘플 코드를 찾았습니다. 추가로 필요한만큼 중첩 할 수 있습니다. 새로 만들기 버튼을 클릭

 <p:column> 
     <f:facet name="header"> 
      <h:outputLabel value="Field 2" /> 
     </f:facet> 
     <h:outputLabel value="#{myTableVar.Field2}" /> 
    </p:column> 

    <f:facet name="footer"> 
     <p:commandButton value="New" action="#{myBean.prepareForInsert}" update=":myForm:myPanel"/> 
    </f:facet> 
</p:dataTable> 

<h:panelGrid id="myPanel" columns="2" > 
    <h:outputLabel value="Field 1"/> 
    <p:inputText id="fld1" value="#{myBean.newRec.field1}" /> 
    <h:outputLabel value="Field 2"/> 
    <p:inputText id="fld2" value="#{myBean.newRec.field2}" /> 
    <p:commandButton action="#{myBean.createAction}" value="Submit" update="myGrowl myTable" /> 
</h:panelGrid> 

는에서 myBean의 prepareForInsert 루틴에서 newRec의 한 emty 인스턴스를 만듭니다. 그래서 myPanel은 필드의 공백으로 채워집니다. 제출시 newRec을 list_Recs에 추가하면 myTable의 업데이트로 인해 새 레코드가 데이터 테이블에 표시됩니다. 희망이 도움이됩니다.

관련 문제