我DataTable
的editMode
是"row"
。因此,用户单击铅笔图标开始编辑行,然后单击复选标记图标以确认并结束编辑。他们对某些行执行相同的操作,然后单击保存按钮以将所有已编辑的行保存在一个事务中。但是,他们可以在结束编辑之前点击保存按钮;在这种情况下,我需要停止保存并告诉他们在保存之前结束行编辑。
问题是如何确定表格是否处于编辑状态?
我DataTable
的是这样的:
<p:dataTable id="myTable"
value="#{myBean.dataModel}"
editMode="row"
editable="true"
var="row"
rowKey="#{row.id}"
rowIndexVar="rowIndex">
<p:column>
<p:rowEditor/>
</p:column>
<p:column headerText="label">
<p:cellEditor>
<f:facet name="input">
<p:inputText value="#{row.label}" />
</f:facet>
<f:facet name="output">
<h:outputText value="#{row.label}"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="name" >
<p:cellEditor>
<f:facet name="input">
<p:inputText value="#{row.name}"/>
</f:facet>
<f:facet name="output">
<h:outputText value="#{row.name}"/>
</f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
顺便说一句,有一个editingRow
用它的访问器isEditingRow
命名的属性setEditingRow
,我希望它是我的答案;但是,事实并非如此。似乎setEditingRow
从未调用过。
我正在使用 PrimeFaces 6.1 和 JSF 2.2。