2012-09-21 3 views
2

PrimeFaces에서 JSF 2.0을 사용하고 있습니다. 나는 <p:dataTable>입니다. 열에 <p:inputText>이 있습니다. 편집하고 저장할 수 있습니다. 리셋 버튼도 있지만 작동하지 않습니다. 당신은 기본적으로하려고하기 때문에,p : dataTable의 모든 입력 필드를 지우는 방법?

<p:commandButton type="reset" value="Temizle" update="bir" process="@this" actionListener="#{orderBean.reset}"/> 

또한 : 당신의 명령 단추의 유형, 즉 재설정

@ManagedBean 
@SessionScoped 
public class OrderBean { 
    private static final ArrayList<Order> orderList = 
     new ArrayList<Order>(Arrays.asList(
      new Order("Süt İneği", 99 , 0),    
      new Order("Diğer İnekler", 58, 0),  
      new Order("Koyun",5, 0), 
      new Order("Keçi",5, 0),  
      new Order("At ",18, 0),  
      new Order("Eşek ",10, 0)     
     ) 
    ); 

    public String saveAction() { 
     for (Order order : orderList){ 
      order.setEditable(false); 
     } 

     return null; 
    } 

    public String editAction(Order order) { 
     order.setEditable(true); 
     return null; 
    } 

    public void reset() { 
     RequestContext.getCurrentInstance().reset("form:f"); 
    } 

    // ... 
} 

답변

4

변경 : 여기

<h:form id="f"> 
    <f:facet name="head">Enteri Karbon Hesaplaması</f:facet> 
    <p:dataTable value="#{orderBean.orderList}" var="o" id="bir"> 
     <p:column> 
      <f:facet name="header">Hayvan Adi</f:facet> 
      <h:outputText value="#{o.hayvanadi}"/> 
     </p:column> 
     <p:column> 
      <f:facet name="header">Karbon Salinimi Değeri</f:facet> 
      <h:outputText value="#{o.karbonsalinimi}"/> 
     </p:column> 
     <p:column> 
      <f:facet name="header">Adet</f:facet> 
      <p:inputText id="spinner" maxlength="12" value="#{o.adet}"/> 
     </p:column> 
    </p:dataTable> 
    <p:commandButton value="Kaydet" action="#{orderBean.saveAction()}" update="bir"/> 
    <p:commandButton value="Temizle" update="bir" process="@this" actionListener="#{orderBean.reset}"/> 
</h:form> 

내 백업 빈의 관련 부분입니다 데이터 테이블을 다시 비워두면 reset 함수에서 orderList를 빈 목록으로 설정할 수 있습니다.

+0

Thn ku 대단히 – user3190168

+0

+1 내가 할 일이 무엇입니까 – gtgaxiola

+0

'입력 ='재설정 '' '모든 입력을 다시 시작하지만 다른 페이지로 이동하지 마십시오 ... 어떻게 수정합니까? – cheloncio

1

<p:commandButton type="reset" 또는 <p:commandButton update="@form"을 사용하여 양식을 재설정 할 수 있습니다. 후자는 p:inplace에서도 사용됩니다.

편집 : 버튼이 작동하지 않는 이유는 해당 업데이트 속성에서 참조 된 ID가 올바르지 않기 때문입니다. :formId:dataTableId이어야합니다. 그러나 @form은 더 쉽습니다.

관련 문제