如何解决有没有办法从 Apex 的 Visualforce 页面获取字段查找 ID?
有没有办法获取元素框中显示的标签 ID。查找 ID 很好,我们可以得到它,但要获取“贷款”的标签 ID?
任何帮助将不胜感激!
解决方法
那样是行不通的。您在评论中描述的内容通常被称为“网址黑客”。在“新建”、“编辑”等标准页面上,它可以工作 - 但它基于 <input name="blabla">
而不是 <input id="blabla">
。
看看这个:https://www.google.com/?q=hello
检查字段的来源 - 有 name
但没有 id
。然而我预先填充了该字段。
由于它是 Visualforce 页面 - 您可以控制 URL 参数。您可以制作类似 /apex/vfPageName?contractId=....
的东西,您不必尝试对 CF00N0l00000WER2
精明。然后在 Apex 构造函数中,您可以使用 ApexPages.currentPage.getParameters().get('contractId')
。
我不知道你在那里有什么控制器。只需 <apex:page controller="MyClass"
或 <apex:page standardController="Contract" extensions="MyClass"
。第二个将让您读取单击按钮的记录的 ID,但如果您需要通过 url 传递更多参数 - 查看 getParameters()
如果您真的需要 ID...它们采用“CF”(自定义字段)+ 字段 ID 的形式,如您查看字段定义时在设置中看到的那样。例如,您可以在 FieldDefinition 表中查询 ID。但是对于您需要的东西 - 看起来我们会让事情变得过于复杂。
,问题:在用户点击 New
按钮后立即使用 Name 自动填充查找
方法:如果您获得查找的字段定义 ID,则使用填充查找名称分配 DurableID。
查询以获取 DurableID :
1.List<FieldDefinition> fieldDefiInstance = [Select DeveloperName,label,Id,DurableId,EntityDefinitionId From FieldDefinition where EntityDefinition.DeveloperName='Party' and label = 'Contract'];
2.String fieldKey =fieldDefiInstance[0].DurableId.replace(fieldDefiInstance[0].EntityDefinitionId+'.','')+'CF';
3.System.debug('fieldKey=>'+fieldKey);
Id 为 CF00N000000XXX
。现在在网址中分配 CF00N000000XXX=ContractName
示例:https://sales--cldev.my.salesforce.com/XXX/e?**CF00N000000XXX=ContractName**&inline=1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。