gpt4 book ai didi

salesforce - 如何在 VisualForce 页面中实现 "Save & New"功能

转载 作者:行者123 更新时间:2023-12-02 11:20:08 24 4
gpt4 key购买 nike

我知道这是保存记录的方法

<apex:commandButton action="{!save}" value="Save"/>

现在我想要一个按钮来保存当前记录并重置表单以输入另一条记录。

类似这样的事情...

<apex:commandButton action="{!SaveAndNew}" value="Save & New"/>

最佳答案

新记录页面的 URL 是 {org URL}/{3 letter object prefix}/e?"。

您可以按如下方式定义保存方法,其中 m_sc 是对在其构造函数中传递给扩展的 standardController 的引用:

  public Pagereference doSaveAndNew()
{
SObject so = m_sc.getRecord();
upsert so;

string s = '/' + ('' + so.get('Id')).subString(0, 3) + '/e?';
ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.Info, s));
return new Pagereference(s);
}

要将 Controller 用作扩展,请修改其构造函数以将 StandardController 引用作为参数:

public class TimeSheetExtension
{
ApexPages.standardController m_sc = null;

public TimeSheetExtension(ApexPages.standardController sc)
{
m_sc = sc;
}

//etc.

然后只需修改你的 <apex:page>在您的页面中添加标记以将其作为扩展引用:

<apex:page standardController="Timesheet__c" extensions="TimeSheetExtension">
<apex:form >
<apex:pageMessages />
{!Timesheet__c.Name}
<apex:commandButton action="{!doCancel}" value="Cancel"/>
<apex:commandButton action="{!doSaveAndNew}" value="Save & New"/>
</apex:form>
</apex:page>

请注意,类名中不需要 Extension,我这样做只是为了明智。您无需修改​​页面上的任何其他内容即可使用此方法。

关于salesforce - 如何在 VisualForce 页面中实现 "Save & New"功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8921414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com