2

可能かどうか知りたいという要件があります。SOQL クエリの結果を表示する visualforce ページがありますが、SOQL クエリは動的であり、カスタム オブジェクトまたは標準オブジェクトに対するクエリである可能性があります。私は現在、SOQL クエリをコントローラ クラスにハード コーディングしながら、それがどのように機能するかを理解しようとしています。SOQL クエリの結果を Apex の pageBlockTable または dataTable に表示するつもりです。

これは Salesforce で可能ですか? もしそうなら、Visualforce と Apex の両方でどのように機能するかの例を教えてもらえますか?

4

1 に答える 1

2

「動的参照」(「動的バインディング」とも呼ばれます) について読む必要があります。良い出発点: 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.AccountNumberorの使用に似ています。たとえば、apex salesforce でフィールドの値を名前で取得a.get('AccountNumber')する方法を確認してください。


基本オブジェクトがアカウントにならない場合は失敗するため (たとえば、Contact.AccountNumberフィールドがない場合)、それらに注意する必要があります。上記の例は取引先のみを扱っていますが、入門としては良いでしょう。

基本的な考え方に慣れたら、フィールドセットの世界を探索できます- フィールドセットの事前定義されたグループは一緒になる必要があります - データの表示とクエリの両方に使用できます。基本的に、フィールド名を持つ文字列のハードコードされたリストよりも強力です。 (最初のリンクのように)でも同じ考えです。

少なくとも、どのキーワードを探すべきかがわかります ;)

于 2013-02-28T10:47:26.753 に答える