0

我的问题是:我有一个带有一些记录的简单 pageblocktable,当我从表中删除一个特定行时......这暂时很好,然后我的页面会自动重新加载完整的 pageblocktable 和所有行。

我的愿望不是删除一条记录,而是让一行的视图成为不可能。

这是我的控制器的代码:

public List<E2C_Email__c> emailsmod;


public List<E2C_Email__c> getEmailsmod (){

String id='500T0000004QpWr';

this.emailsmod=[Select id,subject__c,FromName__c,Read__c,CreatedDate,CcAddress__c from E2C_Email__c where Case__c=:id ORDER BY CreatedDate DESC];

return this.emailsmod;

}

这是我的脚本代码(在页面中):

 <script type="text/javascript">            
     $j = jQuery.noConflict();                   
     function hiderows(){    
        var prova= $j('#subject'+ 'a0TT0000003BMmGMAW').parent();     
        var prova2=$j('#subject'+ 'a0TT0000003BMmGMAW').closest("tr");          
        prova2.remove();     
     }                   
</script>

这是页面

<apex:form >

    <apex:outputpanel >

        <apex:commandbutton value="prova" onclick="hiderows()" />

    </apex:outputpanel>



</apex:form>
<apex:outputpanel layout="block" style="overflow:auto;height:200px">
    <apex:pageBlock id="pb" mode="maindetail">
        <apex:pageBlockTable value="{!Emailsmod}" var="e" columns="5"
            cellspacing="5" onRowClick="show(this)">

            <apex:column headerValue="From" width="22%">
                <span id="from{!e.id}"> {!e.FromName__c} </span>
            </apex:column>
            <apex:column headerValue="Subject">
                <span id="subject{!e.id}"> {!e.Subject__c} </span>
            </apex:column>
            <apex:column headerValue="Date" width="7%">
                <span id="date{!e.id}"> <apex:outputText value="{0,date,dd/MM/yy hh:mm}">
                    <apex:param value="{!e.CreatedDate}" />
                </apex:outputText> </span>
            </apex:column>

        </apex:pageBlockTable>
    </apex:pageBlock>


</apex:outputpanel>
4

1 回答 1

1

试试这个技巧 - 在执行 JavaScript 函数后添加 return false :

<apex:commandButton value="prova" onclick="hiderows(); return false;"/>

避免页面重新加载的其他方法是添加一个虚拟的 reRender 标记:

<apex:commandButton value="prova" onclick="hiderows()" reRender="none" />

您必须重新渲染“某物”以避免页面重新加载。否则命令按钮将重新加载整个页面。在我们的例子中,我们将重新渲染“nothing”。

于 2012-08-08T09:40:42.430 回答