我有一个要求,我想知道这是不是可能的。我有一个visualforce页面,它将显示SOQL查询的结果,但是SOQL查询是动态的,可以是对自定义对象或标准对象的查询。我目前正在将SOQL查询硬编码到控制器类中,同时试图弄清楚它是如何工作的。我打算在Apex的pageBlockTable或dataTable中显示SOQL查询的结果。
这在Salesforce中是可能的吗?如果是这样的话,有人能给我一个例子,说明它在Visualforce和Apex中是如何工作的吗?
发布于 2013-02-28 18:47:27
您应该阅读有关“动态引用”(也称为“动态绑定”)的内容。一个很好的起点:http://www.salesforce.com/us/developer/docs/pages/Content/pages_dynamic_vf_sample_standard.htm
基本上,如果你有String fieldName = 'AccountNumber';,以后在Visualforce中你可以直接引用它:
<apex:outputField value="{!a.AccountNumber}">或动态:
<apex:outputField value="{!a[fieldName]}">。
这类似于在Apex中使用a.AccountNumber或a.get('AccountNumber')。例如,如果您从未见过getting Value of a field by its Name in apex salesforce,请查看它。
您必须小心处理它们,因为如果您的基对象不是account,它将失败(例如,没有Contact.AccountNumber字段)。上面的例子只涉及帐户,但不管怎样,它都是一个很好的介绍。
一旦你熟悉了基本概念,你就可以探索fieldsets的世界了--预定义的字段组应该放在一起--你可以使用它们来显示和查询数据,基本上它们比带有字段名称的硬编码字符串列表(如第一个链接)更强大,但想法仍然是一样的。
至少您现在知道要查找哪些关键字;)
https://stackoverflow.com/questions/15133014
复制相似问题