【问题标题】:Primefaces row editable datatable save not firedPrimefaces行可编辑数据表保存未触发
【发布时间】:2013-08-29 07:11:04
【问题描述】:

我使用了很多行可编辑的 primefaces 数据表,但在这里我坚持使用它。 数据表正确显示,但是当我单击编辑按钮时,数据表变成可编辑模式,在这里我只能使用取消按钮。保存按钮什么也不做,当我点击它时我仍然处于可编辑模式。 (并且未调用 bean 操作)。

这里是代码

<p:dataTable value="#{bean.days}" var="days" editable="true">

    <p:ajax event="rowEdit" listener="#{bean.changeCell}"/>
    <p:ajax event="rowEditCancel" listener="#{bean.changeCell}"/>

    <p:column headerText="my header">
        <p:cellEditor>  
            <f:facet name="output" >
                <h:outputText value="#{days.get(4).date}" >
                    <f:convertDateTime pattern="dd/MM" timeZone="CET" />
                </h:outputText>
            </f:facet>
            <f:facet name="input">
                <p:calendar value="#{days.get(4).date}" locale="fr" mindate="#{jours.get(0).date}" pattern="dd/MM"/>
            </f:facet>  
        </p:cellEditor>
    </p:column>

    ... other columns

    <p:column>
        <p:rowEditor />
    </p:column>
</p:dataTable>

还有一部分豆子

@ManagedBean(name = "bean")
@ViewScoped
public class MyBean {

    private List<List<MyDays>> days; // with getters and setters

    @PostConstruct
    public void init() {
        // Filling the list
    }

    public void changeCell(RowEditEvent event) {
        List<MyDays> j = (List<MyDays>)event.getObject();
        System.out.println("here");
    }

}

【问题讨论】:

    标签: ajax primefaces datatable


    【解决方案1】:

    现在好了。事实上,我使用 getter 来访问我的列表数据,这是一个错误。

    我改变了这个

    <p:calendar value="#{days.get(4).date}" locale="fr" mindate="#{jours.get(0).date}" pattern="dd/MM"/>
    

    进入这个

    <p:calendar value="#{days[4].date}" locale="fr" mindate="#{jours[0].date}" pattern="dd/MM"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多