在确认对话框中单击是按钮清除网格

时间:2014-07-28 15:04:55

标签: jsf jsf-2 primefaces

我有一个JSF,我有一个删除网格特定行的功能。我正在使用面板网格。点击删除按钮,我点击是确认对话框,应删除该行,并刷新网格。我可以删除该行,但网格不会刷新或清除。 下面是我的JSF代码。任何帮助将不胜感激。

<p:commandButton id="delete"
  icon="ui-icon ui-icon-trash"
  action="#{trafficExpenseItemsMBean.deleteTrafficExpenseItemRow}"
  onclick="setSelectedRowId('rowId',#{trafficSearchResult.id})"
  title="GDeleteButton">
  <p:confirm header="Delete Record"
    message="Are you sure about deleting this record?"
    icon="ui-icon-alert"/>
</p:commandButton>

<p:confirmDialog global="true" showEffect="fade">
  <p:commandButton title="GDelYesButton" value="Yes" styleClass="ui-confirmdialog-yes"/>
  <p:commandButton title="GDelNoButton" value="No"  onclick="PF('confirmation').hide()" styleClass="ui-confirmdialog-no" />
</p:confirmDialog>

1 个答案:

答案 0 :(得分:1)

如果我理解你是否支持托管bean中的数据,你需要使用给定的id调用该bean的某个函数,并且托管bean本身将处理该操作。所以在你从你的setSelectedRowId(&#39; rowId&#39;,#{trafficSearchResult.id})调用后设置rowId之后。 在确认按钮上你需要调用正确的删除方法,并根据其小部件ID更新网格组件,例如:

 <p:commandButton title="GDelYesButton" value="Yes" onclick="bean.removeItem()" oncomplete = "PF('datagrid_widget_id').update() PF('confirmation').hide()"/>