2

以下の 2 つのリストを Apex または VisualForce でマージする最良の方法は何ですか? データは関連していますが、一緒にクエリを実行することはできないため、2 つのリストを結合する必要があります。

注意事項:

  1. 2 つのリスト: additionalInfoQuestionMaps が親 List で、 additionalInfoQuestionAvailableResponses が子です。子の数は 1 から複数の場合があります。

  2. Question_Type_Info__c オブジェクトのリストに参加する必要があります。

基本的には、親リストからの一連の質問です。次に、子リストにある「はい」や「いいえ」などの質問に可能な回答を関連付ける必要があります。これらの結果は、フォームの VF ページに表示されます。

public with sharing class mytest {

    public List<Questions__c> additionalInfoQuestionMaps {get;set;}
    public List<Available_Question_Answer_Options__c> additionalInfoQuestionAvailableResponses {get;set;} 
    public List<retrieveMergedQuestionList> retrieveMergedQuestionLists {get;set;}

    public String buildId {get;set;}

    public Build__c build {get;set;}

    public mytest() {

        buildId = 'a1DV00000001BBBBBB';
        build = sharedfile.getBuild(buildId);
        updateAdditionalInfoQuestionMaps();
        updateAdditionalInfoFieldValueIds();
        updateAdditionalInfoQuestionAvailableResponses();
    }

    public void updateAdditionalInfoQuestionMaps() {

            additionalInfoQuestionMaps = new List<Questions__c>([SELECT Id, Name, 
                          Associated_Product_Item__c, 
                          Associated_Product__c, 
                          Label__c,
                             (select Response__c from Responses_Object__r),  
                          Question_Type_Info__c,  
                          Required__c
                    FROM Questions__c                
                    WHERE Associated_Product__c = :build.Associated_Product__c 
                    ORDER BY Sort_Index__c, Label__c]);
    }

    public Set<Id> additionalInfoFieldValueIds = new Set<Id>();

    public void updateAdditionalInfoFieldValueIds(){
        for (Questions__c aimb : additionalInfoQuestionMaps) {
                additionalInfoFieldValueIds.add(aimb.Question_Type_Info__c);
        }
    }

    public void updateAdditionalInfoQuestionAvailableResponses() {
            additionalInfoQuestionAvailableResponses = new List<Available_Question_Answer_Options__c>([select Id,
                        Field_Value__c, Question_Type_Info__c
                        from Available_Question_Answer_Options__c
                        where Question_Type_Info__c IN :additionalInfoFieldValueIds]);

    }           

}
4

1 に答える 1

0

あなたの質問を正しく理解していれば、ラッパークラスに参加する必要があると思います

以前に投稿した、LaceySnr が解決策を提供した同様の質問を見てください。

Vf ページでグループ化されたデータのセクションを作成する方法

お役に立てれば。

ありがとう

于 2012-05-28T06:14:04.773 に答える