2012-01-25 30 views
3

私はTechnology__cというカスタムオブジェクトを持ち、AccountTechnologiesという名前のジョインオブジェクトはAccountとTechnology__cの間のジョインオブジェクトです。したがってAccountTechnologiesは側面。 次は、VisualforceページのコードSystem.SObjectException:要求されたフィールドを照会せずにSOQL経由でSObject行を取得しました。

である私はカウントを取得するために Technology__ccount__c積み上げ集計項目を追加したが、私は視覚的な力のページでそれをアクセスしたとき、私は

 System.SObjectException: SObject row was retrieved via SOQL without querying the requested field: Technology__c.count__c 

次のエラーを取得します

 <apex:pageBlockTable title="Technologies" value="{!AllTechnologies}" 
       var="t"> 
       <apex:column value="{!t.Name}" headerValue="Technologies" /> 
       <apex:column value="{!t.count__c}" headerValue="Count" width="20%"> 

       </apex:column>   
      </apex:pageBlockTable> 
+0

Visualforceページまたはカスタムコントローラ(または拡張機能)に標準コントローラを使用していますか? –

+0

カスタムコントローラー –

答えて

4

カスタムコントローラーのクエリにCount__cフィールドを追加する必要があります。

- 編集 -

あなたが技術のオフに照会している場合、クエリは次のようになります。
[Select Id, Name, Count__c From Technology__c];

あなたが連結オブジェクトのオフに照会している場合は、必要があるだろうサブクエリーを使用して関係を照会する。 TechnologyまたはAccountTechnologiesのオブジェクト定義(App Setup> Create> Objects)をチェックし、Master-DetailフィールドをクリックしてChild Relationship Nameを見つけることができます。サブクエリするオブジェクトを見つけるには、関係名に__rを追加します。

別のオブジェクトにTechnology__rの値を取得するには、アカウントで​​メソッドを使用します。このdocumentationには、下部に大きな例があります。

また、custom controller documentationを確認してください。

+0

しかし、それは列であり、技術は変わり続ける。それをVFで見ることができるようにカスタムコントローラーに渡す方法 –

+0

var tはコントローラー内のメソッドに渡され、次にVFに戻されてカウントを表示する必要があります。私はどのようにコントローラにパラメータtを渡して値が列に表示されるようにそれを処理するのかわかりません –

+0

私はコントローラにvar tを渡すのですか........私はセールスフォースの初心者です –

関連する問題