2012-07-12 45 views
0

当我点击任意一行并单击删除链接时,出现确认对话框,但是一旦我点击对话框,行选择就会改变。所选内容不会被删除,但是一些其他行被删除。Kindly帮助解决它。当我添加一个对话框时,行选择发生变化

<p:column headerText="Delete" width="50" style="text-align:center"> 
      <p:commandLink id="showDialogButton" 
       update=":studyPlanEditForm:display" onclick="cdDialog.show()" 
       value="delete"> 
      </p:commandLink> 
      <p:dialog widgetVar="cdDialog" appendToBody="true" 
       header="Are you sure to delete this substudyplan?"> 
       <p:panel> 
       <p:commandButton value="Yes" process=":studyPlanEditForm:display" 
        action="#{editBean.deleteSubStudyPlan(selectedRow)}" 
        onclick="cdDialog.hide();" 
        update=":studyPlanEditForm"/> 
       <p:commandButton value="No" onclick="cdDialog.hide();" 
        type="button"/> 
       </p:panel> 
      </p:dialog> 
     </p:column> 

回答

0

该对话框必须在表格之外。另外,在删除按钮中,您正在更新组件“:studyPlanEditForm:display”。我在代码片段中看不到该组件。对话框中的面板应该有id =“display”,因为对话需要更新。

您可以在primefaces showcase中看到类似用途casi的工作示例。您只需替换显示确认消息内容的对话框,并添加一个删除该行的按钮。托管bean已经有了对选定行的引用。

这是删除按钮会是什么样子

<p:column headerText="Delete" width="50" style="text-align:center"> 
    <p:commandButton id="showDialogButton" 
      update=":studyPlanEditForm:display" onclick="cdDialog.show()" 
      value="delete"> 
     <f:setPropertyActionListener value="#{selectedRow}" target="#{bean.selectedRow}" /> 
     </p:commandButton> 
</p:column> 

这是对话框(必须是外表):

<p:dialog widgetVar="cdDialog" appendToBody="true" 
      header="Are you sure to delete this substudyplan?"> 
    <p:panel id="display"> 
     <p:commandButton value="Yes" process="@this" 
       action="#{editBean.deleteSubStudyPlan}" 
       onclick="cdDialog.hide();" 
       update=":studyPlanEditForm"/> 
     <p:commandButton value="No" onclick="cdDialog.hide();" 
       type="button"/> 
    </p:panel> 
</p:dialog> 

所以管理bean有一个属性,叫做selectedRow和在调用方法deleteSubStudyPlan时,此属性包含属于表中选定行的实体。

+0

嗨对不起,迟到问题是变量selectedRow是在dataTable里面;所以我不能使用action =“#{editBean.deleteSubStudyPlan(selectedRow)}”请帮助。 – 2012-07-16 13:04:47

+0

@PraveenV我编辑了答案。你不看看primefaces展示吗? – Damian 2012-07-16 13:29:33

相关问题