我尝试使用visualforce页面设置在线测试,该页面从salesforce COPE_Tests__C
,COPE_Questions__C
和COPE_Options__c
中的3个对象中提取数据。一旦用户选择了特定测试,我想我可以像这样打电话来获取所有其他数据:
questions = [select id, name, question_body__c,
(select id, name, option_body__c from COPE_options__r order by name ASC)
from COPE_questions__c where COPE_test__c = :tid];
然后使用apex:repeat
和apex:selectRadio/apex:selectOption
生成实际的测试表单。但由于某种原因,它不会渲染放射性物体。所以我似乎需要创建selectOption列表然后使用apex:selectOptions。但我不知道如何设置它。如何让它为每个问题自动创建公开list<selectOption>
?
有没有办法设置list<selectOption>
?
答案 0 :(得分:0)
我不知道自动创建它,但在循环中遍历你的问题对象应该很容易,有些事情超出了
的范围。List<List<SelectOption> options = new List<List<SelectOption>;
for(COPE_Questions__C q : questions){
List<SelectOption> list = new List<SelectOption>();
for(COPE_options__r op : q.COPE_options__r){
list.add(new SelectOption(op.id, op.option_body__c);
}
options.add(list);
}
希望它有所帮助。