2012-05-24 6 views
2

Каков наилучший способ объединить два списка ниже в Apex или VisualForce? Данные связаны, но не могут быть запрошены вместе, поэтому мне нужно объединить два списка.Как объединить данные из двух списков в Apex или VisualForce (Salesforce)?

Вещи, чтобы отметить:

  1. два списка: additionalInfoQuestionMaps является родителем Список и additionalInfoQuestionAvailableResponses является ребенок. Может быть от 1 до многих детей.

  2. Мне нужно присоединиться к спискам объекта Question_Type_Info__c.

В основном его набор вопросов, поступающих из родительского списка, то мне нужно, чтобы связать возможные ответы на эти вопросы, такие как Да и Nothat находятся в списке детей. Эти результаты будут отображаться на странице 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]); 

    }   

} 
+0

Ваш вопрос для меня трудно. Можете ли вы точно указать, какие два списка (укажите точные имена переменных), которые вы хотели бы объединить в один список? –

ответ

0

Я думаю, что вы должны идти в класс обертку, если я правильно понял ваш вопрос

Take взгляд на подобный вопрос я уже учтенным ранее, где LaceySnr дал раствора

how to create sections of grouped data in Vf page

Надеюсь, это поможет.

Thanks

Смежные вопросы