Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 如何清除p:dataTable中的所有输入字段?_Jsf 2_Primefaces - Fatal编程技术网

Jsf 2 如何清除p:dataTable中的所有输入字段?

Jsf 2 如何清除p:dataTable中的所有输入字段?,jsf-2,primefaces,Jsf 2,Primefaces,我将JSF2.0用于PrimeFaces。我有一个。我在一列中有一个。我可以编辑并保存它。我也有一个复位按钮,但它不工作 <h:form id="f"> <f:facet name="head">Enteri Karbon Hesaplaması</f:facet> <p:dataTable value="#{orderBean.orderList}" var="o" id="bir"> <p:column&g

我将JSF2.0用于PrimeFaces。我有一个
。我在一列中有一个
。我可以编辑并保存它。我也有一个复位按钮,但它不工作

<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>

卡本·赫萨普拉马斯企业
海文阿迪
卡尔邦·萨利尼米·德奥埃里
阿德特
以下是我的支持bean的相关部分:

@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");  
    }  

    // ...
}
@ManagedBean
@会议范围
公共类OrderBean{
私有静态最终ArrayList orderList=
新建ArrayList(Arrays.asList(
新秩序(“Sütİneği”,99,0),
新秩序(“Diğerİnekler”,58,0),
新订单(“Koyun”,5,0),
新秩序(“Keçi”,5,0),
新命令(“At”,18,0),
新秩序(“Eşek”,10,0)
)
);
公共字符串saveAction(){
对于(订单:订单列表){
order.setEditable(false);
}
返回null;
}
公共字符串编辑操作(顺序){
order.setEditable(true);
返回null;
}
公共无效重置(){
RequestContext.getCurrentInstance().reset(“form:f”);
}  
// ...
}

更改命令按钮的类型以重置ie:

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


另外,由于您基本上是想再次将datatable设置为空,您可以在重置功能中将orderList设置为空列表。

如果您只将“Type=“reset””置于所有输入重新启动,而不转到其他页面,则可以使用
重置表单。。。我怎样才能解决这个问题?