primefaces p:datable editMode=";单元格“;

primefaces p:datable editMode=";单元格“;,primefaces,datatable,tablecelleditor,editmode,Primefaces,Datatable,Tablecelleditor,Editmode,我对primefaces、datatable、editMode=“cell”有问题 我有一个数据表,可以用editMode=“cell”编辑。如果我修改一个单元格并立即单击“验证”按钮(不离开该单元格),则该按钮不起作用,该单元格仍处于编辑模式,如果我再次单击“验证”按钮,则该按钮起作用 在这里,您可以查看我的数据表: <p:dataTable var="fact" id ="FactureTable" value="#{monBean.f

我对primefaces、datatable、editMode=“cell”有问题

我有一个数据表,可以用editMode=“cell”编辑。如果我修改一个单元格并立即单击“验证”按钮(不离开该单元格),则该按钮不起作用,该单元格仍处于编辑模式,如果我再次单击“验证”按钮,则该按钮起作用

在这里,您可以查看我的数据表:

        <p:dataTable var="fact" id ="FactureTable" 
                value="#{monBean.factureDataModel}"
                            editable="true" rowKey="#{fact.id.factNumero}" 
                            emptyMessage="#{fichierMessage['DATATABLE.NORECORDSFOUNS']}" 
                            scrollable="true" scrollHeight="100" editMode="cell" selection="#{monBean.factureSelectionner}" >

                            <p:ajax event="rowSelectRadio"  process="@this" listener="#{monBean.selectionnerFacture}" update=":#{p:component('InterventionTable')}"/>
                            <p:column selectionMode="single" style="width:10px;">
                            </p:column>

                            <p:column headerText="#{messages['Facture.numero']}" >
                                <p:cellEditor >
                                    <f:facet name="output">
                                        <h:outputText value="#{fact.id.factNumero}" />
                                    </f:facet>
                                    <f:facet name="input">
                                        <p:inputText  value="#{fact.id.factNumero}" disabled="#{fact.griserCode}"
                                            style="width:96%" />
                                    </f:facet>
                                </p:cellEditor>
                            </p:column>

                            <p:column headerText="#{messages['Facture.date']}">
                                <p:cellEditor>
                                    <f:facet name="output">
                                        <h:outputText value="#{fact.factDate}">
                                          <f:convertDateTime type="date" dateStyle="short"
                                            pattern="dd/MM/yyyy" />
                                    </h:outputText>
                                    </f:facet>
                                    <f:facet name="input">
                                        <p:inputMask  maxlength="12" style="width:96px;" value="#{fact.factDate}" mask="99/99/9999"  disabled="#{fact.griserCode}">
                                       <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
                                       <p:ajax process="@this" listener="#{monBean.affectationMoisEtExercice(fact)}" update=":#{p:component('FactureTable')},:#{p:component('message')}"/>
                                    </p:inputMask>
                                    </f:facet>
                                </p:cellEditor>
                            </p:column>
        </p:datatable>

我使用此解决方案:

我没有在p:dataTable中使用editMode=“cell” 在p:dataTable中,我将editable=“true”更改为editable=“false”

我不使用 p:cellEditor f:facet name=“输出”

只需在p:column中使用p:inputText,p:inputMask


在“数据表”编辑表中添加Ajax问题,谢谢您的指导:

l'attruibut editMode=“cell”不作为数字标记p:dataTable 更改编辑器可编辑=“true”PAR可编辑=“false”< /P> ne pas利用者标签: p:cellEditor f:facet name=“输出”


不简单的标签利用率和修改donnée exple(p:inputText,p:inputMask…)

这篇文章中的解决方案的副本不适用于方法bouton“validate”在DataTable之外,您是否尝试过在p:inputText和p:inputMask字段中添加p:ajax