2012-05-13 19 views
0

我有一張表,我希望每次運行該程序時默認顯示1個空行。我怎樣才能做到這一點?默認情況下,如何製作一行表,其中有一行

<h:dataTable cellspacing="0" value="#{editQuestion.answersData}" var="answer"> 
        <h:column> 
         <f:facet name="header">ID</f:facet> 
         <h:outputText value="#{answer.answer.id}" /> 
        </h:column> 

        <h:column> 
         <f:facet name="header"><h:outputText value="#{i18n['admin.edit.rightanswer']}" /></f:facet> 
         <h:selectBooleanCheckbox value="#{answer.answer.isRight}"/> 
        </h:column> 

        <h:column> 
         <f:facet name="header"><h:outputText value="#{i18n['admin.edit.answers']}" /></f:facet> 
         <h:inputTextarea id="answer" rows="3" cols="40" value="#{answer.text}" required="true" label ="Answer"> 
          <f:validateLength maximum="500"/> 
         </h:inputTextarea> 
         <div> 
          <h:message for="answer" style ="color:red"/> 
         </div> 

        </h:column> 

        <h:column> 
         <h:commandButton image="/resources/imgs/#{editQuestion.buttonDelete}" immediate ="true" action="#{editQuestion.deleteAnswer(answer)}" disabled="#{!editQuestion.possibleToDelete}" alt="delete" title="#{i18n['img.delete']}"> 
          <f:param name="id" value="#{editQuestion.id}"/> 
         </h:commandButton> 
        </h:column> 
       </h:dataTable>` 

回答

1

僅次於#{editQuestion}的bean(後)施工期間的Answer一個新的實例添加到後面#{editQuestion.answerData}列表。

E.g.

private List<Answer> answerData; 

@PostConstruct 
public void init() { 
    answersData = new ArrayList<Answer>(); 
    answersData.add(new Answer()); 
} 

注意,豆需要是爲了保持在同一視圖跨越提交正確的數據@ViewScoped:在postconstruct期間。

相關問題