我假设您在下面的答案中询问如何设置查找字段。但是,如果您询问如何删除查找字段,则需要编辑 PageLayout,但这也会从“编辑”页面中删除这些字段。如果您需要编辑页面上的字段,而不是创建页面上的字段,您需要为您的对象创建一个新的创建 Visualforce 页面并将重定向设置到该页面。
创建页面是没有id
参数的编辑页面。您拥有的代码应该可以工作:
PageReference ref = new PageReference('/a00/e');
要更改通过 发送到新 Page 的任何参数PageReference
,请使用getParameters()
方法。下面的示例为帐户查找添加了一个参数(CF00NC0000004htI5
在我的开发版中是字段 ID)。
PageReference.getParameters().put('CF00NC0000004htI5', 'sForce');
可以通过转到设置 > 创建 > 对象 > [您的对象] > [您的字段] 找到字段 ID。到达那里后,在页面地址 (URL) 中查找字段 ID /
(但在?
如果有 a之前?
)。例如,我的字段 URL 是:https://instance.salesforce.com/00NC0000004htI5?setupid=CustomObjects
. 获得 ID 后,CF
在其前面添加。
对于查找字段,您可能还需要设置CF
+FieldId+_lktp
参数。这设置了引用记录的 ID。
这是我用来获取下一页的完整方法。
public PageReference NextPage()
{
Account a = [Select Id, Name From Account Where Name like '%sForce%' Limit 1];
PageReference myPage = new PageReference('/a03/e');
// set the ID on a lookup field
myPage.getParameters().put('CF00NC0000004htI5_lktp', a.Id);
// set the Name on a lookup field
myPage.getParameters().put('CF00NC0000004htI5', a.Name);
myPage.setRedirect(true);
return myPage;
}