首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从表中删除行后Visualforce页面不刷新

从表中删除行后Visualforce页面不刷新
EN

Stack Overflow用户
提问于 2015-06-13 18:57:32
回答 1查看 1.6K关注 0票数 1
代码语言:javascript
复制
SCRIPT:
function dodelete(id,deleted) {
    /*alert("UserId");*/
    $("input[id$='hdUserId']").val(id);
    $("input[id$='hdnDeleted']").val(deleted);
    //alert(id);
    //alert(deleted);
    setParams(id,deleted);
    //setInterval(50000);
    alert('Record deleted successfully!');
}
PAGE:
</tr>
<apex:repeat value="{!staffInfo.StaffAccepted}" var="u" id="staffaccepted" rendered="{!staffInfo.StaffAccepted.size <> 0 && staffInfo.StaffAccepted.size <> null}">
   <tr>
      <td>{!u.FullName}</td>
      <td>{!u.Email}</td>
      <td>{!$Label[u.Role]}</td>
      <td>{!$Label[u.RegType]}</td>
      <td>
         <a href="#" class="Reset" onclick="doResetPassword('{!u.contact}');return false;">{!$Label.PG_ApprovalProcess_Reset}</a>/
         <apex:outputPanel rendered="{!IF(u.valide, true, false)}">
            <apex:form style="margin:0px;">
               <apex:commandLink onclick="dodelete('{!u.contact}',true);" >  Delete</apex:commandLink>
               <!--<apex:actionSupport event="onclick" action="{!dodelete}" rerender="tabref"/>-->                                                                            
            </apex:form>
         </apex:outputPanel>
      </td>
   </tr>
</apex:repeat>
<apex:form >
   <apex:actionFunction action="{!dodelete}" name="setParams" rerender="dummy">
      <apex:param name="param1" assignTo="{!UsId}" value="" />
      <apex:param name="param2" assignTo="{!userDeleted}" value="" />
   </apex:actionFunction>
</apex:form>

Controller:

public void dodelete()
{
System.debug('PG_ApprovalController.doAction() called: Id: ' + UsId + ' and approved: ' + userDeleted);
/*Contact contact = [select Id, PG_ContactApprovalState__c from Contact where Id = :this.UsId];
PG_ContactApprovalStatus__c cas = [select Id, PG_ApprovalStatus__c from PG_ContactApprovalStatus__c where Id = :contact.PG_ContactApprovalState__c];
system.debug('PG_ContactApprovalStatus__c found, Id : ' + cas.Id + ', status : ' + cas.PG_ApprovalStatus__c);
if(userDeleted) 
{
    cas.PG_ApprovalStatus__c = PG_Enums.APPROVAL_STATUS_TYPE.Deleted.name();
    update cas;
    system.debug('Deleted');
} */
Contact contact = [select Id, PG_ContactApprovalState__c from Contact where Id =:this.UsId];
PG_ContactApprovalStatus__c cas = [select Id, PG_ApprovalStatus__c from PG_ContactApprovalStatus__c where Id = :contact.PG_ContactApprovalState__c];
system.debug('PG_ContactApprovalStatus__c found, Id : ' + cas.Id + ', status : ' + cas.PG_ApprovalStatus__c);
if(userDeleted) 
{
    cas.PG_ApprovalStatus__c = PG_Enums.APPROVAL_STATUS_TYPE.Deleted.name();
    update cas;            
    system.debug('Deleted');
    PageReference nextPage = new PageReference('/apex/PG_PharmacyOverview');
    nextPage.setRedirect(true);
}
    //update cas;
    system.debug('Entered ###########>>>>>>>>>>:'+p);
}

我想在从表中删除用户后刷新页面,注意:-如果我从脚本页面中删除"alert('Record delete successfully!');“行,页面刷新不起作用,甚至删除功能也不起作用。

EN

回答 1

Stack Overflow用户

发布于 2015-06-18 17:22:29

在处理action函数时,您需要刷新表,您可以使用rerender属性来执行此操作。

在action函数中添加rerender属性,即需要刷新的组件id:

代码语言:javascript
复制
<apex:actionFunction action="{!dodelete}" name="setParams" rerender="contactTablePanel">
    <apex:param name="param1" assignTo="{!UsId}" value="" />
    <apex:param name="param2" assignTo="{!userDeleted}" value="" />
</apex:actionFunction>

将表封装在面板中,并为要从顶点刷新的任何所需组件分配Id或添加id :actionfunction-

代码语言:javascript
复制
<apex:outputPanel id="contactTablePanel">
    <table>
        ....
    </table>
</outputPanel>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30817882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档