我有关于primefaces,datatable,editMode =" cell"
的问题我有一个数据表,可以使用editMode =" cell"进行编辑。如果我修改了一个单元格,我立即点击"验证"按钮(不离开单元格),按钮不起作用,单元格仍然处于编辑模式,如果我单击"验证"按钮再次按钮工作。
在这里你可以查看我的dataTable:
<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>
答案 0 :(得分:0)
我使用这个解决方案:
我不在p:dataTable中使用editMode =“cell” 我在p:dataTable
中通过editable =“false”更改editable =“true”我不用 电话号码:cellEditor的 f:facet name =“output”
只需在p:列中我使用p:inputText,p:inputMask ...,
Pouréviterlesproplèmedel'Ajax dans les“datatable”éditables,merci suivre les instruction suivante:
l'attruibut editMode =“cell”ne doit pas figurer dans le tag p:dataTable changer editable =“true”par editable =“false”
ne pas utiliser les标签: 电话号码:cellEditor的 f:facet name =“output”
Un simple tagvaêtreutilisépourl'affichage et la modificationdesdonnéeexple(p:inputText,p:inputMask ...)